首页 > 解决方案 > 带有谷歌回调的 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

那么为什么会抛出这个错误呢?

标签: javaspring-bootspring-securityspring-security-oauth2

解决方案


推荐阅读