Spring云网关和Keycloak凭证无效

问题描述 投票:0回答:1

我设置了 Spring Cloud Gateway 服务,该服务将请求从前端应用程序重定向到后端服务。我希望对其中一些请求进行身份验证,因此我还运行了一个 keycloak 服务器。这两个服务都在 docker 内部运行并共享 docker 网络。我尝试在 docker 网络之外运行 Spring cloud gateway,它工作正常,我可以使用 keycloak 表单登录,但是一旦我设置了 docker 设置,当我尝试使用正确的凭据登录时,我会看到此页面结果,IP 是我的 wsl ip,docker 正在其中运行,并且也在配置中用作 keycloak-host。

invalid credentials

这是我的application.yml配置:

server:
  port: 8080
spring:
  cloud:
    gateway:
      default-filters:
        - DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin Access-Control-Request-Headers
        - SaveSession
        - TokenRelay=
      routes:
        - id: resource
          uri: ${postman-mock}
          predicates:
            - Path=/resource

  security:
    oauth2:
      client:
        provider:
          keycloak:
            issuer-uri: ${keycloak-host}/realms/${realm}
            user-name-attribute: preferred_username #here also tried with email
        registration:
          keycloak:
            provider: keycloak
            client-id: ${client-id}
            client-secret: ${client-secret}
            authorization-grant-type: authorization_code
            scope:
              - openid
              - profile
              - email
              - roles
      resourceserver:
        jwt:
          issuer-uri: ${keycloak-host}/realms/${realm}

在 keycloak 配置中,我尝试了多个有效重定向 URI 和有效注销后重定向 URI 但目前两者都已设置

*

知道可能出现的问题吗?

spring-security oauth keycloak spring-cloud-gateway
1个回答
0
投票

你成功了吗?

© www.soinside.com 2019 - 2024. All rights reserved.