spring security reactive - 如何调试“无效凭据”错误?

Posted

技术标签:

【中文标题】spring security reactive - 如何调试“无效凭据”错误?【英文标题】:spring security reactive - how to debug "invalid credentials" error? 【发布时间】:2020-10-31 05:32:47 【问题描述】:

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

在the official tutorial 之后,我使用预配置的提供程序(Google、Github 等)成功实施了流程。将配置更改为未预配置 提供者可以使用these properties 完成,例如:

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

通过此设置,将向用户提示登录页面,并使用authCode 调用指定的重定向url:

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

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

【问题讨论】:

【参考方案1】:

AuthenticationWebFilter.authenticate 是调试它的地方。在我的情况下,user-info-uri 属性丢失了

【讨论】:

你救了我的命。干杯!

以上是关于spring security reactive - 如何调试“无效凭据”错误?的主要内容,如果未能解决你的问题,请参考以下文章

spring security reactive - 如何调试“无效凭据”错误?

Spring Security Reactive WebFilterChainProxy 仅调用单个过滤器链

使用 Spring Security OAuth 时 Spring Boot Reactive WebClient “serverWebExchange must be null”

Spring boot加载REACTIVE程序过程

Spring Boot Reactive Streams

Spring 5 Reactive - WebExceptionHandler 没有被调用