«Пустой кодированный пароль», вызывающий токен без секрета клиента - PullRequest
0 голосов
/ 10 января 2019

У меня есть клиент, который определил использование предоставления пароля без секрета клиента, но когда я вызываю токен, он не работает, и я получаю предупреждение BCryptPasswordEncoder : Empty encoded password. Spring Security позволяет использовать клиенты без секрета, в AuthorizationServerSecurityConfigurer я полагаю, что PasswordEncoder должно совпадать, если закодированный пароль пуст, но он никогда не достигнет этой точки, BasicAuthenticationFilter, потому что останавливает его с другим кодировщиком пароля.

@Configuration
@EnableAuthorizationServer
public class AuthServerConfig extends AuthorizationServerConfigurerAdapter {

    private final AuthenticationManager authenticationManager;

    private final CustomerLoginService userDetailsService;

    private final OAuthClientDetailsService oAuthClientDetailsService;

    @Autowired
    public AuthServerConfig(@Qualifier("authenticationManagerBean") AuthenticationManager authenticationManager,
                            CustomerLoginService userDetailsService,
                            OAuthClientDetailsService oAuthClientDetailsService) {
        this.authenticationManager = authenticationManager;
        this.userDetailsService = userDetailsService;
        this.oAuthClientDetailsService = oAuthClientDetailsService;
    }

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

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.withClientDetails(oAuthClientDetailsService);
    }

    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) {
        endpoints
                .tokenStore(new InMemoryTokenStore())
                .authenticationManager(authenticationManager)
                .userDetailsService(userDetailsService);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...