1

我想在我的反应式 Spring Boot 应用程序中使用外部 OAuth 提供程序对用户进行身份验证。

按照官方教程,我使用预配置的提供程序(Google、Github 等)成功实现了流程。可以使用这些属性将配置更改为未预配置的提供程序,例如:

spring.security.oauth2.client.registration.<providerName>.client-id=<clientId>
spring.security.oauth2.client.registration.<providerName>.client-secret=<clientSecret>
spring.security.oauth2.client.registration.<providerName>.redirect-uri={baseUrl}/login/oauth2/code/<providerName>
spring.security.oauth2.client.registration.<providerName>.provider=<providerName>
spring.security.oauth2.client.registration.<providerName>.client-authentication-method=basic
spring.security.oauth2.client.registration.<providerName>.authorization-grant-type=authorization_code

spring.security.oauth2.client.provider.<providerName>.authorization-uri=https://api.<providerName>.com/authorize
spring.security.oauth2.client.provider.<providerName>.token-uri=https://api.<providerName>.com/token

使用此设置,会向用户提示登录页面,并使用以下命令调用指定的重定向 url authCode

重定向网址调用

但是,返回此错误页面,控制台中没有日志条目或异常(即使我设置了logging.level.org.springframework.security=DEBUG属性)。

无效凭据错误

可能是什么问题?我什至可以从哪里开始调试呢?

4

1 回答 1

3

AuthenticationWebFilter.authenticate是调试这个的地方。在我的情况下user-info-uri,缺少属性

于 2020-07-15T14:20:35.710 回答