我正在开发 OAuth 应用程序。现在我正在使用 JWT 令牌,它工作正常。
JWT 代币实现:
public JwtAccessTokenConverter jwtAccessTokenConverter() {
JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
KeyPair keyPair = new KeyStoreKeyFactory(
new ClassPathResource("keystore.jks"), "foobar".toCharArray())
.getKeyPair("test");
converter.setKeyPair(keyPair);
return converter;
}
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints)
throws Exception {
endpoints.setClientDetailsService(clientDetailsService);
endpoints.accessTokenConverter(jwtAccessTokenConverter());
}
但是,如果我尝试使用DefaultAccessTokenConverter
而不是JwtAccessTokenConverter
我的访问令牌端点总是会生成一个错误,说Access denied。为什么它不起作用。那是一个错误吗?我可以使用其他一些实现TokenConverter
吗?