java - 带有谷歌回调的 OAuth2 春季安全性不起作用
问题描述
我开发了微服务应用程序,在该应用程序中有一个服务调用用户服务在端口上运行8281
。该服务处理身份验证。当我在本地环境中测试服务时,效果很好。但是,如果我使用 zuul api 网关调用此服务,这将不起作用。文件中的以下属性application.yml
用于获取本地环境中的重定向 url。这工作得很好。
security:
oauth2:
client:
registration:
google:
redirectUri: "http://localhost:8281/oauth2/callback/google"
但是,如果我将这个属性更改如下以与 zuul api 网关连接。
security:
oauth2:
client:
registration:
google:
redirectUri: "http://localhost:8080/api/user/oauth2/callback/google"
这不起作用,并抛出此错误消息[authorization_request_not_found]
。localhost:8080 是 zuul api 网关。zuul 已经配置为像这样将请求转发给用户服务。
zuul:
prefix: /api
routes:
auth-service:
path: /user/**
serviceId: USER-SERVICE
stripPrefix: true
sensitiveHeaders: Cookie,Set-Cookie
那么为什么会抛出这个错误呢?