相关疑难解决方法(0)

在Spring Security 5 OAuth Client和Spring Boot 2.0中,authorizationGrantType不能为null

我按照Spring Security 5.0官方参考文档和示例代码oauth2login在我的项目中设置OAuth2/OIDC身份验证,但它失败了,当我启动我的应用程序时出现以下异常mvn spring-boot:run.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'clientRegistrationRepository' 
defined in class path resource [org/springframework/boot/autoconfigure/security/oauth2/client/OAuth2ClientRegistrationRepositoryConfiguration.class]: 
Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: 
Failed to instantiate [org.springframework.security.oauth2.client.registration.InMemoryClientRegistrationRepository]: 
Factory method 'clientRegistrationRepository' threw exception; 
nested exception is java.lang.IllegalArgumentException: authorizationGrantType cannot be null
Run Code Online (Sandbox Code Playgroud)

我用的是由Spring启动提供的默认配置,只是增加了一些基本的依赖关系到项目,如spring-security-config,spring-security-oauth2-client,spring-security-oauth2-jsoe等.

更新:

我找到了原因,对于自定义OAuth2提供程序,例如Gitlab,我必须添加grant type,redirectUritemplate,scope,clientName等,但OpenID Connect规范有一个配置端点协议,例如:https://gitlab.com/ .well-known/openid-configuration,有可能让Spring Security自动读取这些信息吗?

spring spring-security oauth-2.0 spring-boot openid-connect

7
推荐指数
3
解决办法
3073
查看次数