Spring boot SpringBoot 1 vs 2和Spring Oauth2-密码授予和客户端机密
有人知道SpringBoot和SpringOAuth2中的版本控制是如何工作的吗? 当我更改SpringBoot和SpringOAuth2的版本时,我从获取有效访问和刷新令牌变为“未经授权”错误。我使用的是SpringBootStarter家长版。 我运行了一些测试,它是Spring启动版本;当我从1更改版本时。。到2。。“/oauth/token”将不再受到攻击。 以下是身份验证服务器的配置:Spring boot SpringBoot 1 vs 2和Spring Oauth2-密码授予和客户端机密,spring-boot,spring-security-oauth2,spring-oauth2,Spring Boot,Spring Security Oauth2,Spring Oauth2,有人知道SpringBoot和SpringOAuth2中的版本控制是如何工作的吗? 当我更改SpringBoot和SpringOAuth2的版本时,我从获取有效访问和刷新令牌变为“未经授权”错误。我使用的是SpringBootStarter家长版。 我运行了一些测试,它是Spring启动版本;当我从1更改版本时。。到2。。“/oauth/token”将不再受到攻击。 以下是身份验证服务器的配置: @Configuration @EnableAuthorizationServer public c
@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfig extends
AuthorizationServerConfigurerAdapter {
@Override
public void configure(ClientDetailsServiceConfigurer configurer) throws
Exception {
configurer
.inMemory()
.withClient(CLIENT_ID)
//.secret("secret")
.authorizedGrantTypes(GRANT_TYPE_PASSWORD, REFRESH_TOKEN)
.redirectUris("http://localhost:8080/")
.scopes(SCOPE_READ)
.accessTokenValiditySeconds(ACCESS_TOKEN_VALIDITY_SECONDS).
refreshTokenValiditySeconds(REFRESH_TOKEN_VALIDITY_SECONDS);
}
...
}
从SpringBoot 1到SpringBoot 2
- 您必须添加一个客户端密码才能使授权服务器工作。这就是Spring Boot的工作原理
- 如果您在Spring Boot 1中使用客户机机密,则不需要传递哈希,但在Spring Boot 2中需要这样做:
inMemory() .withClient(CLIENT_ID) .secret(passwordEncoder.encode("secret"))