Spring Boot 1 vs 2和Spring Oauth2-密码授予和客户端密钥

问题描述 投票:-1回答:1

有谁知道SpringBoot和Spring Oauth2的版本控制是如何工作的?当我更改SpringBoot和Spring Oauth2的版本时,我会从获得有效访问和刷新令牌变为“未经授权”的错误。我正在使用spring-boot-starter-parent。我运行了一些测试和它的Spring Boot版本;当我将版本从1改为2时,“/ oauth / token”将不再被击中。以下是Autherization Server的配置:

@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-boot spring-security-oauth2 spring-oauth2
1个回答
0
投票

当你从Spring Boot 1到2时,

  • 您必须添加客户端密钥才能使授权服务器正常工作。这就是Spring Boot的工作原理。
  • 如果您在Spring Boot 1中使用客户端密钥,则不需要传递散列,但在Spring Boot 2中,您需要这样做: inMemory() .withClient(CLIENT_ID) .secret(passwordEncoder.encode("secret"))
© www.soinside.com 2019 - 2024. All rights reserved.