SpringBoot 1 vs 2 和 Spring Oauth2- 密码授予和客户端机密
SpringBoot 1 vs 2 and Spring Oauth2- Password Grant and Client Secret
有人知道 SpringBoot 和 Spring Oauth2 中的版本控制是如何工作的吗?
当我更改 SpringBoot 和 Spring Oauth2 的版本时,我从获取有效访问和刷新令牌变为 "unauthorized" 错误。我正在使用 spring-boot-starter-parent。
我运行一些测试和它的Spring引导版本;当我将版本从 1.. 更改为 2.. “/oauth/token” 将不再受到攻击.
这是授权服务器的配置:
@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);
}
...
}
当您从 Spring启动 1 到 2 时,
- 您必须添加客户端密码才能使授权服务器正常工作。这就是 Spring Boot 的工作原理。
如果您在 Spring Boot 1 中使用客户端密钥,则不需要传递哈希,但在 Spring Boot 2 中您需要这样做:
inMemory()
.withClient(CLIENT_ID)
.secret(passwordEncoder.encode("secret"))
有人知道 SpringBoot 和 Spring Oauth2 中的版本控制是如何工作的吗? 当我更改 SpringBoot 和 Spring Oauth2 的版本时,我从获取有效访问和刷新令牌变为 "unauthorized" 错误。我正在使用 spring-boot-starter-parent。 我运行一些测试和它的Spring引导版本;当我将版本从 1.. 更改为 2.. “/oauth/token” 将不再受到攻击. 这是授权服务器的配置:
@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);
}
...
}
当您从 Spring启动 1 到 2 时,
- 您必须添加客户端密码才能使授权服务器正常工作。这就是 Spring Boot 的工作原理。
如果您在 Spring Boot 1 中使用客户端密钥,则不需要传递哈希,但在 Spring Boot 2 中您需要这样做:
inMemory() .withClient(CLIENT_ID) .secret(passwordEncoder.encode("secret"))