【问题标题】:Spring Cloud Gateway with new Spring Security Oauth2 and Cognito带有新 Spring Security Oauth2 和 Cognito 的 Spring Cloud Gateway
【发布时间】:2020-06-20 22:04:16
【问题描述】:

我正在尝试集成 Spring Cloud Gateway(带有 WebFlux)和 Amazon AWS Cognito。 我花了将近一个星期,它仍然无法正常工作。 我想使用 authentication_code 授权类型对 cognito 用户池中的用户进行身份验证。

这是我的设置:

spring:
  security:
    oauth2:
      client:
        registration:
          cognito:
            client-id: xxxxx
            client-secret: xxxx
            scope: openid
            redirectUriTemplate: "http://localhost:9090/login/oauth2/code/cognito"
            clientName: xxxx-client
        provider:
          cognito:
            issuerUri: https://cognito-idp.us-east-2.amazonaws.com/xxxxxxxxx
            usernameAttribute: cognito:username

这是我的 pom.xml

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-security</artifactId>
        </dependency>

我面临的一个问题是:

{"code":"BadRequest","message":"The server did not understand the operation that was requested.","type":"client"}

还有其他一些随机问题。我从来没有看到 Cognito 的登录屏幕。 如果您可以提供一些示例应用程序,它将很有帮助。

【问题讨论】:

    标签: spring spring-cloud spring-cloud-security


    【解决方案1】:

    问题是你需要为它设置一个域名。您在 AWS 上的用户池 -> 应用程序集成 -> 域名页面下执行此操作。然后您需要设置一个 Amazon Cognito 域。此域名可以是任何名称,只要不被占用即可。

    希望这对某人有所帮助,因为这浪费了我几个小时的时间,而且我在任何地方都找不到答案。

    【讨论】:

    • 救了我的命。谢谢。
    猜你喜欢
    • 2020-07-04
    • 2018-06-27
    • 2022-11-08
    • 2021-10-20
    • 2019-04-29
    • 2017-10-02
    • 1970-01-01
    • 2019-01-09
    • 2020-06-21
    相关资源
    最近更新 更多