Spring Security mit OAuth2 und JWT: Verschlüsselte Passwort sieht nicht aus wie BCrypt

Chirdeep Tomar:

Ich versuche, eine Feder AuthorizationServer mit JWT zu implementieren. Ich war in der Lage JWT Token und Login zu produzieren, bis ich BCrypt zur Mischung hinzugefügt. Nun, wenn ich Login Ich versuche, ich „Bad Anmeldeinformationen“ aus der API erhalten.

OAuth2Configuration.java

@Configuration
@EnableAuthorizationServer
public class OAuth2Configuration extends AuthorizationServerConfigurerAdapter {

    private DataSource dataSource;
    private AuthenticationManager authenticationManager;
    private BCryptPasswordEncoder passwordEncoder;

    public OAuth2Configuration(AuthenticationManager authenticationManager) {
        this.authenticationManager = authenticationManager;
        this.dataSource = new Jdbc3PoolingDataSource();
        this.passwordEncoder = new BCryptPasswordEncoder();
    }

    @Override
    public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {
        security.passwordEncoder(passwordEncoder);
    }

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.inMemory()
                .withClient("api-client")
                .secret("verysecretivesecret")
                .scopes("READ", "WRITE", "DELETE")
                .authorizedGrantTypes("implicit", "refresh_tokens", "password", "authorization_code");
    }

    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
        endpoints.authorizationCodeServices(authorizationCodeServices())
                .tokenStore(tokenStore())
                .tokenEnhancer(jwtTokenEnhancer())
                .authenticationManager(authenticationManager);
    }

    @Bean
    public TokenStore tokenStore() {
        return new JwtTokenStore(jwtTokenEnhancer());
    }

    @Bean
    protected JwtAccessTokenConverter jwtTokenEnhancer() {
        return new JwtAccessTokenConverter();
    }

    @Bean
    protected AuthorizationCodeServices authorizationCodeServices() {
        return new JdbcAuthorizationCodeServices(dataSource);
    }

}

WebSecurityConfig.java

@Configuration
class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    private AccountDetailsService accountDetailsService;
    private BCryptPasswordEncoder passwordEncoder;
    private DataSource dataSource;

    WebSecurityConfig(AccountDetailsService accountDetailsService) {
        this.accountDetailsService = accountDetailsService;
        this.dataSource = new Jdbc3PoolingDataSource();
        this.passwordEncoder = new BCryptPasswordEncoder();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(accountDetailsService).passwordEncoder(passwordEncoder).and().jdbcAuthentication().dataSource(dataSource);
    }
}

SeedData.java

@Override
public void run(String... args) throws Exception {      

    Stream.of("alan,test").map(x -> x.split(","))
            .forEach(tuple -> {
                Account user = new Account();
                user.setUsername(tuple[0]);
                user.setPassword(new BCryptPasswordEncoder().encode(tuple[1]));
                user.setEmail(tuple[0]);
                user.setRoles(Collections.singletonList(role));
                user.setActive(true);
                this.accountRepository.save(user);
            });
}

Danke für Ihre Hilfe.

Chirdeep Tomar:

Ich brauchte die folgende Änderung macht es zur Arbeit zu kommen. Wenn jemand braucht es andere.

@Override
        protected void configure(AuthenticationManagerBuilder auth) throws Exception {
            auth.userDetailsService(accountDetailsService)
                    .passwordEncoder(passwordEncoder)
                    .and()
                    .authenticationProvider(authenticationProvider())
                    .jdbcAuthentication()
                    .dataSource(dataSource);
        }

    @Bean
    public DaoAuthenticationProvider authenticationProvider() {
        DaoAuthenticationProvider authenticationProvider = new DaoAuthenticationProvider();
        authenticationProvider.setUserDetailsService(accountDetailsService);
        authenticationProvider.setPasswordEncoder(passwordEncoder);
        return authenticationProvider;
    }

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Spring Security - Das verschlüsselte Passwort sieht nicht wie BCrypt aus

BCryptPasswordEncoder - Das verschlüsselte Passwort sieht nicht wie BCrypt aus

WARNUNG: Das verschlüsselte Passwort sieht nicht wie BCrypt aus

Java Spring Security 5 + MySQL-Datenbank: Das verschlüsselte Kennwort sieht nicht wie BCrypt aus

Spring Boot und jwt Codiertes Passwort sieht nicht aus wie BCrypt

Das verschlüsselte Passwort sieht in SpringBoot 2.1.4.RELEASE nicht wie BCrypt aus

Anmeldefehler im Frühjahrsstart: Das verschlüsselte Passwort sieht nicht wie BCrypt aus

Verschlüsseltes Passwort sieht nicht aus wie BCrypt und Frage zu Rollen

Codiertes Passwort sieht nicht aus wie BCrypt

Wie kann ich das entschlüsselte Passwort und das verschlüsselte Passwort von 'Bcrypt' Gem vergleichen?

Warum kann ich das verschlüsselte Passwort nicht mit Spring Security abgleichen?

BCrypt: Leeres verschlüsseltes Passwort mit Spring Security

Abrufen von Benutzername und Passwort zur Verifizierung in Grant geben Sie "Passwort" mit Spring Security OAUTH2 ein

Wie aktualisiert OAuth2 Token mit Spring Security 5 OAuth2 Client und RestTemplate

Wie verschlüssle ich ein Passwort mit Python Flask-Security mit bcrypt?

Authentifizierungsmethoden mit Login, Passwort und Facebook-Zugriffstoken mit Spring Security (nicht OAuth)

Wie rufe ich mit bcrypt ein verschlüsseltes Passwort aus meiner Datenbank ab?

spring security codiere das Passwort mit dem bcrypt-Algorithmus

Wie kann ich mit NodeJS in PostgreSQL gespeicherte Sitzungsinformationen mit dem von Spring Security OAuth2 erstellten JWT abrufen?

Wie kann ich mich mit Spring-Security mit Benutzername und Passwort anmelden?

Wie kann ich mit dem automatisch konfigurierten JavaMailSender von Spring-Boot verschlüsselte Eigenschaften (Benutzername / Passwort) mithilfe der Jasypt-Bibliothek unterstützen?

JHipster mit JWT und OAuth2

Wie sieht eine URL mit UTM und gclid aus?

Wie kann ich verschlüsselte Daten mit Yii :: $ app-> security-> encryptByKey () in Yii2 speichern?

KafkaProducer für verschlüsselte und nicht verschlüsselte ProducerRecords

Spring Security OAuth2 mit JWT-Umleitung zur Anmeldeseite

Microservices und Spring Security OAuth2

Wechseln zu Spring Boot 1.5.1 und OAuth2 + JWT-Token - Fehler 401 Nicht autorisiert

OpenID (OAuth2)-Autorisierung schlägt mit Spring Boot und Spring Security fehl

TOP Liste

  1. 1

    So legen Sie mit dem Interface Builder unterschiedliche führende Speicherplätze für unterschiedliche Geräte fest

  2. 2

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  3. 3

    Wie kann ich in SCSS mehrere Klassen zu einer einzigen kombinieren?

  4. 4

    Eclipse Oxygen - Projekte verschwinden

  5. 5

    Wie konvertiert man einen Datenrahmen im langen Format in eine Liste mit einem geeigneten Format?

  6. 6

    Wie kann ich den Kaskadenmodus global einstellen?

  7. 7

    Wie erstelle ich einen neuen übergeordneten Knoten außerhalb der .ref (/ path) in der Firebase-Echtzeitdatenbank mithilfe von Cloud-Funktionen (Typescript)?

  8. 8

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  9. 9

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  10. 10

    Speichern Sie ein MPAndroidChart-Diagramm in einem Bild, ohne es in einer Aktivität anzuzeigen

  11. 11

    Gruppieren Sie Datenrahmenspalten nach ihrem Datum (die Spaltentitel enthalten) und fassen Sie die Instanzen von Einsen und Nullen in R . zusammen

  12. 12

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

  13. 13

    Tic Tac Toe-Spiel im React-Reset-Button funktioniert nicht

  14. 14

    Tomcat - Leiten Sie den alten Kontextstamm zum neuen Kontextstamm um

  15. 15

    Wie wählt man Unterschiede mit drei Tabellen aus?

  16. 16

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  17. 17

    Wie kann ich meine Tabelle abfragen, um sie in mySQL nach 2 Feldern zu gruppieren?

  18. 18

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  19. 19

    Fügen Sie eine weitere Schaltfläche zu gwt Suggest Box hinzu

  20. 20

    Modbus Python Schneider PM5300

  21. 21

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

heißlabel

Archiv