Привет всем, у меня проблемы с Spring Boot и OAuth.Я продолжаю получать "Отсутствующий тип гранта" с curl и в Почтальоне.Я установил Content-Type: x-www-form-urlencoded
.Я также установил типы грантов на своем сервере авторизации.Я в растерянности, что может быть проблемой.Вот мой авторизационный сервер.
@Configuration
@EnableAuthorizationServer
class AuthServerConfig(@Value("\${test.oauth.tokenTimeout:3600}")
var expiration: Int): AuthorizationServerConfigurerAdapter() {
@Autowired lateinit var userDetailsService: UserDetailsService
@Autowired lateinit var authenticationManager: AuthenticationManager
@Bean fun passwordEncoder(): PasswordEncoder {
return BCryptPasswordEncoder()
}
override fun configure(configurer: AuthorizationServerEndpointsConfigurer) {
configurer.authenticationManager(authenticationManager)
configurer.userDetailsService(userDetailsService)
configurer.tokenStore(InMemoryTokenStore())
configurer.allowedTokenEndpointRequestMethods(HttpMethod.GET, HttpMethod.POST)
}
override fun configure(security: AuthorizationServerSecurityConfigurer) {
security.tokenKeyAccess("permitAll()")
.checkTokenAccess("isAuthenticated()")
}
override fun configure(clients: ClientDetailsServiceConfigurer) {
clients
.inMemory()
.withClient("test") // TODO: Set to settings in application.yml
.authorizedGrantTypes("password", "refresh_token")
.secret(passwordEncoder().encode("password"))
.accessTokenValiditySeconds(expiration)
.scopes("read", "write")
}
}
Также кажется, что в TokenEndpoint.java
мои параметры всегда пусты, а свойство типа предоставления объекта tokenRequest
имеет значение null.
Редактировать: Вот фотографии моего почтальона и git bash с использованием curl