繁体   English   中英

在 AWS Cognito 中将外部身份验证服务器配置为 OpenID Connect 身份提供商

[英]Configure external auth server as OpenID Connect identity provider in AWS Cognito

我想在 AWS Cognito 中将 Spring 引导服务配置为 OpenID Connect 身份提供商以进行身份验证和授权。 在此处输入图像描述 以前,在我的本地系统上,我使用的是 keycloak 而不是 AWS Cognito。 为了在 https 协议上运行我的服务,我在本地系统上创建了一个自签名证书。 此外,为了在 AWS Cognito 中将此服务配置为 OpenID Connect 身份提供商,还需要在 https 协议上运行此服务。 当我使用 keycloak 在我的系统上本地运行 auth 服务时,我还必须在 keycloak 信任库中添加此证书。 我的代码如下所示,是为了在 docker 上部署 keycloak 而编写的。

  keycloak:
    container_name: "key-server"
    environment:
      KEYCLOAK_ADMIN: "admin"
      KEYCLOAK_ADMIN_PASSWORD: "pondelok"
      PROXY_ADDRESS_FORWARDING: "true"
    image: "quay.io/keycloak/keycloak:17.0.1"
    ports:
      - "9380:9380"
    extra_hosts:
      - "auth-server:host-gateway"
    restart: unless-stopped

    volumes:
      - "../keycloak/providers:/opt/keycloak/providers"
      - "../keycloak/realms_local:/tmp/import"
      - "../keycloak/keystore:/home"

    command:
      [
          'start-dev --auto-build',
          '--http-enabled=true',
          '--http-port=9380',
          '--spi-truststore-file-file=/home/oceankeystore.jks',
          '--spi-truststore-file-password=password',
          '--spi-truststore-file-hostname-verification-policy=ANY',
          '-Dkeycloak.migration.action=import',
          '-Dkeycloak.migration.provider=dir',
          '-Dkeycloak.migration.dir=/tmp/import',
          '-Dkeycloak.migration.strategy=OVERWRITE_EXISTING',
          '-Dkeycloak.profile.feature.upload_scripts=enabled',
          '--log-level=DEBUG,io.quarkus:INFO,liquibase:INFO,org.hibernate:INFO,org.infinispan:INFO,org.keycloak.services.scheduled:INFO,org.keycloak.transaction:INFO,io.netty.buffer.PoolThreadCache:INFO,org.keycloak.models.sessions.infinispan:INFO'
      ]

现在我想在 AWS 上部署我的应用程序。 我正在用 AWS Cognito 替换 keycloak。 现在我的问题是,如何在 AWS Cognito 中添加我在本地系统上创建的自签名证书,以便在 AWS Cognito 和我的身份验证服务(充当 OpenID Connect 身份提供商)之间建立成功的连接。 我想不通。 我无法在 AWS Cognito 中找到可以添加自签名证书的位置。 谁能指导我。

您在 AWS 上部署的“授权服务”应该使用具有可信权限的证书(而不是自签名证书)。 查看Let's Encrypt或 AWS Certificate Manager 等解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM