簡體   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