Spring JDBCTokenStore не хранит токен в базе данных - PullRequest
0 голосов
/ 24 апреля 2019

Приложение Springboot генерирует токен, но не хранится в таблице oauth_access_token.Сгенерированный токен в почтальоне:

{
    "access_token": "142d60e2-583e-434a-9ae8-9888e6f3d595",
    "token_type": "bearer",
    "refresh_token": "d5f96a96-0103-4a59-9908-a1ac6384fb51",
    "expires_in": 7712,
    "scope": "read write"
}

В базе данных он хранится как:

Token_Id| Token| Authentication_Id| User_Name| Client_Id| Authentication| Refresh_Token
c720d0e2630b1b43d00bd1dc83277e23| [B@6edfa9ca| d557e74143287f87984f133c7409755d| admin| spring-security-oauth2-read-write-client| [B@1d2745a2| 05fee5dab25b6a76202a76a74902df1e

Он не отображает никаких предупреждений / ошибок в моей консоли. Ниже приведен код из моего SpringbootБезопасность:

@Configuration
@EnableAuthorizationServer
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Import(ServerSecurityConfig.class)
public class AuthServerOAuth2Config extends AuthorizationServerConfigurerAdapter {

    @Autowired

    @Qualifier("dataSource")
    private DataSource dataSource;

    @Autowired
    private AuthenticationManager authenticationManager;

    @Autowired
    private UserDetailsService userDetailsService;

    @Autowired
    private PasswordEncoder oauthClientPasswordEncoder;

    @Bean
    public TokenStore tokenStore() {
        return new JdbcTokenStore(dataSource);
    }

    @Bean
    public OAuth2AccessDeniedHandler oauthAccessDeniedHandler() {
        return new OAuth2AccessDeniedHandler();
    }

    @Override
    public void configure(AuthorizationServerSecurityConfigurer oauthServer) {
        oauthServer.tokenKeyAccess("permitAll()").checkTokenAccess("isAuthenticated()")
                .passwordEncoder(oauthClientPasswordEncoder);
    }

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.jdbc(dataSource);
    }

    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) {
        endpoints.tokenStore(tokenStore()).authenticationManager(authenticationManager)
                .userDetailsService(userDetailsService);
    }
}
@Configuration
@EnableWebSecurity
@Order(1)
@Import(Encoders.class)
public class ServerSecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private UserDetailsService userDetailsService;

    @Autowired
    private PasswordEncoder userPasswordEncoder;

    @Override
    @Bean
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService).passwordEncoder(userPasswordEncoder);
    }
}

Я изменил код согласно Spring JdbcTokenStore не хранит / не создает токены.(Не удалось получить токен) по-прежнему не удалось сохранить токен, созданный в таблице oauth_access_token

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...