这是我对Oauth2Authorization服务器的配置
@Configuration
@EnableAuthorizationServer
class OAuth2AuthorizationServer : AuthorizationServerConfigurerAdapter() {
// Configures client app
override fun configure(clients: ClientDetailsServiceConfigurer) {
clients
.inMemory()
.withClient("client")
.authorizedGrantTypes("password")
.secret("{noop}secret")
.scopes("all")
}
@Autowired
private lateinit var authenticationManager: AuthenticationManager
@Bean
fun accessTokenConverter(): JwtAccessTokenConverter {
val converter = JwtAccessTokenConverter()
converter.setSigningKey(OAuth2ConfigVariables.JWT_SIGNING_KEY)
return converter
}
@Bean
fun tokenStore(): TokenStore {
return JwtTokenStore(accessTokenConverter())
}
@Throws(Exception::class)
override fun configure(endpoints: AuthorizationServerEndpointsConfigurer) {
endpoints.tokenStore(tokenStore())
.authenticationManager(authenticationManager)
.accessTokenConverter(accessTokenConverter())
}
}
这是我的卷曲请求
curl client:secret@localhost:8080/oauth/token -d grant_type=password -d username=user -d password=pwd
我总是得到
{
"error" : "unsupported_grant_type",
"error_description" : "Unsupported grant type: password"
}
答案 0 :(得分:0)
希望能帮助您! 也许您应该在http请求授权中添加参数。 例如:
邮递员^-^
答案 1 :(得分:0)
这里的问题是一致的:
.authorizedGrantTypes("password")
密码这个词需要加密才能工作。