身分集區的範例應用程式 - Amazon Cognito

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

身分集區的範例應用程式

Amazon Cognito 身分集區的最常見使用案例是聯合來自多個登入系統的使用者,並將臨時、有限存取的 AWS 登入資料直接交付給用戶端。這樣就不需要為存取 AWS 資源的許可建置登入資料代理程式。例如,您可能需要讓使用者使用社交媒體帳戶登入,並從 Amazon S3 為您的行動應用程式存取應用程式資產。身分集區也會將登入資料提供給使用使用者集區登入的使用者。

在本教學課程中,您將建立一個 Web 應用程式,您可以在增強型和基本身分驗證流程中,透過身分集區中支援的身分提供者 (IdPs) 取得暫時驗證和訪客登入資料。如果您已在 Web 開發方面有經驗,請從 GitHub 下載範例應用程式。

從 GitHub 下載範例應用程式

此範例應用程式示範了 Amazon Cognito 身分集區的下列功能:

身分集區中的身分驗證流程
  • 具有詳細 API 請求明細的增強型身分驗證流程

  • 具有詳細 API 請求明細的基本身分驗證流程

實作訪客 (未驗證) 存取
  • 提供有限的 AWS 服務 存取,而不需要登入

與支援的身分提供者整合
  • 用於消費者存取的社交 IdPs (Facebook、Amazon、Twitter、Apple 和 Google)

  • 企業使用者的企業 IdPs(透過 OpenID Connect 或 SAML)

  • Amazon Cognito 使用者集區

AWS 登入資料管理
  • 交換臨時 AWS 登入資料的身分提供者字符

  • 使用臨時登入資料安全地存取 AWS 服務

在開發 Web 伺服器上設定應用程式並在瀏覽器中存取應用程式後,您會看到下列選項。

Amazon Cognito 身分集區示範應用程式 Web 界面的螢幕擷取畫面,顯示具有身分驗證方法選項和互動式示範區段的主頁面。

先決條件

在開始之前,您將需要設定下列資源。

  • 可存取 Amazon Cognito AWS 的帳戶。如果您沒有 AWS 帳戶,請遵循 中的指示入門 AWS

  • 在您的開發機器上安裝 Python 3.8 或更新版本。

  • GitHub 存取。

  • AWS 已設定登入資料,具有對 Amazon Cognito APIs許可。開發人員身分驗證需要這些登入資料。

如需在特定 SDK 中實作 AWS 登入資料和身分集區聯合的詳細資訊,請參閱 取得憑證

身分驗證提供者設定

為了取得此應用程式的最佳結果,請設定並整合一或多個第三方身分提供者 (IdPs) 或 Amazon Cognito 使用者集區與您的 Amazon Cognito 身分集區。在您完成先決條件,並在執行此示範應用程式之前,選擇要設定的身分提供者。Amazon Cognito 主控台會逐步引導您設定身分集區和提供者的程序。

注意

對於此示範應用程式,您不需要設定所有支援的身分提供者。您可以從符合您使用案例的 開始。每個連結都提供詳細的組態指示。

部署示範應用程式

複製儲存庫

  1. 開啟終端機視窗。

  2. 複製aws-doc-sdk-examples儲存庫,或在儲存庫中擷取此資料夾

    git clone https://github.com/awsdocs/aws-doc-sdk-examples.git
  3. 導覽至 專案目錄。

    cd python/example_code/cognito/scenarios/identity_pools_example_demo/web

建立 身分集區

若要為您的應用程式建立 Amazon Cognito 身分集區,請遵循 中的指示身分集區主控台概觀

設定示範應用程式的身分集區
  1. 開啟 Amazon Cognito 主控台

  2. 從左側導覽功能表中,選擇身分集區。選擇現有的身分集區,或建立新的身分集區。

  3. 使用者存取下,啟用已驗證存取訪客存取。設定新的或現有的 IAM 角色,並為其指派您要授予每種使用者類型的許可

  4. 使用者存取下,設定您要設定的任何身分提供者。

  5. 身分集區屬性下,啟用基本 (傳統) 身分驗證

  6. 保持瀏覽器開啟至您身分集區的 主控台。您會在應用程式設定中使用身分集區 ID 和其他組態資訊。

設定和執行應用程式

下列步驟會引導您完成示範應用程式的初始設定。

設定示範應用程式
  1. aws-doc-sdk-examples複製python/example_code/cognito/scenarios/identity_pools_example_demo/web中開啟命令列。

  2. 透過複製範例環境.env檔案來建立檔案。 https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/python/example_code/cognito/scenarios/identity_pools_example_demo/web/.env.example

    cp .env.example .env
  3. 在文字編輯器中開啟 .env 檔案。將 檔案中的範例值取代為您自己的組態值。

  4. 安裝後端相依性。

    pip install -r requirements.txt
  5. 啟動後端伺服器:

    cd backend python oauth_server.py
  6. 開啟新的終端機視窗,導覽至專案目錄並啟動前端伺服器:

    cd frontend python -m http.server 8001
  7. http://localhost:8001 開啟瀏覽器至應用程式。您的瀏覽器會顯示示範應用程式界面,準備好測試身分集區身分驗證。

探索身分集區中的身分驗證方法

本節使用 Amazon Cognito 身分集區示範應用程式,引導您完成基本和增強型身分驗證流程。透過此示範,您將了解身分集區如何與各種身分提供者搭配使用,為您的應用程式使用者提供臨時 AWS 憑證。

在範例應用程式的互動式示範區段中,您會先在身分集區支援的兩種存取類型之間進行選擇。

未驗證的 (訪客) 存取

提供 AWS 登入資料給尚未驗證的使用者。

已驗證的存取

使用完整範圍的可用許可交換 AWS 憑證的身分提供者字符。從您在 .env 檔案中設定的身分提供者中選擇身分提供者。

此步驟示範如何透過身分集區的訪客存取功能,取得未經驗證 (訪客) 使用者的臨時 AWS 登入資料。在示範應用程式中,您將測試增強型和基本流程,以了解身分集區如何發行登入資料,而不需要使用者登入。訪客存取使用與已驗證存取相同的 API 序列,但不提供身分提供者字符 (例如來自 Google、Facebook 的 OAuth 字符,或來自企業提供者的 SAML 聲明)。

如果您正在尋找提供使用者有限 AWS 存取權的相關資訊,而不需要身分驗證,請繼續閱讀。實作訪客存取後,您將了解如何安全地提供 AWS 登入資料給匿名使用者,並了解兩個身分驗證流程之間的差異。

重要

未經驗證的存取可以向具有網際網路存取的任何人發出登入資料,因此最適合用於需要最低安全性 AWS 的資源,例如公有 APIs和圖形資產。在繼續此步驟之前,請檢查是否已在啟用訪客存取的情況下設定身分集區,並確保有適當的 IAM 政策來限制許可。

Guest access with enhanced flow

增強型流程是一種簡化的方法,可為具有兩個 API 請求的未驗證使用者取得 AWS 憑證。

使用增強的流程測試訪客存取
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇訪客存取索引標籤。

  3. 選擇增強型流程索引標籤。

  4. 選擇測試訪客存取

  5. 應用程式會從您的身分集區取得臨時 AWS 登入資料,而不需要額外的身分驗證提示。

  6. 身分驗證成功後,您將看到顯示結果面板的 Web 界面,並且您有兩個選項可以探索它們:

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-07T00:58:21-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • GetId() 使用 提出 API 請求identityPoolId。訪客存取不需要身分驗證字符

        { "IdentityPoolId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

        如果有效,它會尋找或建立並傳回使用者的 IdentityID。範例回應如下所示:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
      • GetCredentialsForIdentity() 與傳回的 identityPoolId

        POST GetCredentialsForIdentity { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

        Cognito 會驗證訪客存取、使用 在內部擔任未經驗證的角色 AWS STS,並傳回臨時 AWS 登入資料。(此呼叫沒有 IAM 身分驗證;角色信任必須允許 cognito-identity-amazonzaws.com。)

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-07T00:58:21-07:00" } }
Guest access with basic flow

基本流程透過個別 API 請求,提供對身分擷取和憑證產生之身分驗證程序的精細控制。

使用基本流程測試訪客存取
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇訪客存取索引標籤。

  3. 選擇基本流程索引標籤。

  4. 選擇測試訪客存取

  5. 應用程式會從您的身分集區取得臨時 AWS 登入資料,而不需要額外的身分驗證提示。

  6. 身分驗證成功後,您會看到顯示結果面板的 Web 界面,而且您有兩個選項可以探索它們。

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T13:36:17-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • GetId() 具有您的身分集區 ID 的 API 請求。訪客存取不需要身分驗證字符。

        POST GetId { "IdentityPoolId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

        如果有效,它會尋找或建立並傳回使用者的 IdentityID。範例回應如下所示:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
      • GetOpenIdToken() 與傳回的 IdentityID和相同的Logins映射

        POST GetOpenIdToken { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Token": "eyJraWQiOiJFWAMPLE......" }

        此步驟中發生的情況:Amazon Cognito 會從 cognito-identity.amazonaws.com 發出代表此 的短期 OpenID Connect Web 身分字符IdentityId。權杖包含 AWS STS 評估的 OIDC 宣告,包括 aud (您的身分集區 ID) 和 amr (已驗證或未驗證)。IAM 角色的信任政策必須要求這些宣告。

      • AssumeRoleWithWebIdentity() - 您的應用程式 AWS STS 會直接呼叫 ,以交換 Amazon Cognito OpenID 字符做為臨時 AWS 登入資料

        POST sts:AssumeRoleWithWebIdentity { "RoleArn": "arn:aws:iam::111122223333:role/Cognito_IdentityPoolUnauth_Role", "WebIdentityToken": "eyJraWQiOiJFWAMPLE......" }

        回應:

        { "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "FwoGZXIvYXdzEEXAMPLE......" } }

        在此步驟中發生的情況:驗證後: 會傳回臨時 AWS 登入資料

使用暫時登入資料

這些臨時登入資料可作為標準 AWS 登入資料,但具有身分集區未經驗證的 IAM 角色所定義的有限許可。您可以搭配任何 AWS SDK 或 使用它們 AWS CLI。如需使用登入資料設定 AWS SDKs 的詳細資訊,請參閱《 AWS SDKs和工具參考指南》中的標準化登入資料提供者

以下範例並非完整清單,但它們顯示身分集區的訪客功能可以改善使用者體驗的常見方式。

下列範例會將登入資料提供者設定為訪客使用者的有限 Amazon S3 存取。

Python
# Example: Using credentials with boto3 import boto3 # Configure client with temporary credentials s3_client = boto3.client( 's3', aws_access_key_id='AKIAIOSFODNN7EXAMPLE', aws_secret_access_key='wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', aws_session_token='IQoJb3JpZ2luX2VjEEXAMPLE......' ) # Make API requests within IAM role permissions response = s3_client.list_objects_v2(Bucket='my-public-bucket') # Access public content for obj in response.get('Contents', []): print(f"File: {obj['Key']}, Size: {obj['Size']} bytes")
JavaScript
// Example: Accessing public content import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3"; const s3Client = new S3Client({ region: "us-east-1", credentials: { accessKeyId: 'AKIAIOSFODNN7EXAMPLE', secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', sessionToken: 'IQoJb3JpZ2luX2VjEEXAMPLE......' } }); // Access public images or documents const response = await s3Client.send(new GetObjectCommand({ Bucket: 'my-public-content', Key: 'product-catalog.pdf' }));

下列範例以訪客使用者身分使用 Amazon DynamoDB 的唯讀存取權。

Python
# Example: Limited app functionality for trial users import boto3 dynamodb = boto3.client( 'dynamodb', aws_access_key_id='AKIAIOSFODNN7EXAMPLE', aws_secret_access_key='wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', aws_session_token='IQoJb3JpZ2luX2VjEEXAMPLE......' ) # Allow guest users to view sample data (limited to 5 items) response = dynamodb.scan(TableName='SampleProducts', Limit=5)
JavaScript
// Example: Limited app functionality for trial users import { DynamoDBClient, ScanCommand } from "@aws-sdk/client-dynamodb"; const dynamodbClient = new DynamoDBClient({ region: "us-east-1", credentials: { accessKeyId: 'AKIAIOSFODNN7EXAMPLE', secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', sessionToken: 'IQoJb3JpZ2luX2VjEEXAMPLE......' } }); // Allow guest users to view sample data (limited to 5 items) const response = await dynamodbClient.send(new ScanCommand({ TableName: 'SampleProducts', Limit: 5 }));

此步驟會探索搭配 Amazon Cognito 身分集區使用社交身分提供者的整體流程。社交身分驗證提供熟悉的登入體驗,同時透過聯合身分管理來維護安全性。您可以從 Google、Facebook 和 Amazon 等社交身分提供者 (IdP) 登入,然後將該 IdP 字符交換為臨時 AWS 憑證。身分集區也支援 Twitter 和 Apple 整合,但在範例應用程式中不支援。

身分集區本身不是使用者目錄。它不會存放密碼或設定檔欄位。相反地,它信任外部 IdPs 來驗證使用者,並專注於透過為 IAM 角色提供憑證,授權已驗證的使用者直接呼叫 AWS 服務。

Social identity provider with enhanced flow

本節說明如何使用社交身分提供者登入使用者,並使用增強型流程,在 Amazon Cognito 身分集區中交換提供者字符,以請求 AWS 資源。

使用社交登入搭配範例應用程式中的增強流程
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇已驗證的存取索引標籤。

  3. 選擇增強型流程索引標籤。

  4. 選擇您已設定的支援社交供應商,例如使用 Google 登入使用 Facebook 登入使用 Amazon 登入

  5. 登入並同意與應用程式共用使用者資料。

  6. 供應商重新導向回應用程式的重新導向 URI

  7. 應用程式會將提供者字符傳送至您的身分集區,並擷取臨時 AWS 憑證

  8. 應用程式會在 Web 介面中顯示結果面板。

    身分驗證成功後,您會看到顯示結果面板的 Web 界面,而且您有兩個選項可以探索它們:

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T13:36:17-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • 應用程式會使用社交 IdP 登入使用者,並取得提供者字符。身分集區接受來自社交提供者的這些成品:

        身分提供者 Cognito 提供者金鑰 用途
        Google accounts.google.com 來自 Google Sign-In 的 OAuth 2.0 權杖
        Facebook graph.facebook.com 從 Facebook Login 存取字符
        Amazon www.amazon.com 來自 Login with Amazon 的 OAuth 權杖

        與社交供應商成功進行身分驗證後,您的應用程式會收到 OAuth 回應,其中包含存取字符和其他身分驗證詳細資訊:

        { "access_token": "ya29.A0AS3H6NEXAMPLE......", "expires_in": 3599, "scope": "openid https://www.examplesocial....", "token_type": "Bearer", "id_token": "eyJhbGciOiJSUzI1NiIsEXAMPLE......" }
      • GetId() 具有身分集區 ID 的 API 請求,以及包含社交供應商字符的Logins映射

        POST GetId { "IdentityPoolId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Logins": { "accounts.google.com": "eyJhbGciOiJSUzI1NiIsEXAMPLE......" } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
      • GetCredentialsForIdentity() 與傳回的 IdentityID和相同的Logins映射

        POST GetCredentialsForIdentity { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Logins": { "accounts.google.com": "eyJhbGciOiJSUzI1NiIsEXAMPLE......" } }

        回應:

        { "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-07T00:58:21-07:00" }, "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }

發生的情況:Amazon Cognito 會根據設定的提供者驗證權杖、根據您的提供者組態選擇 IAM 角色,並 AWS STS 代表您呼叫 。然後,您的身分集區會傳回暫時登入資料。

Social identity provider with basic flow

本節說明如何使用社交身分提供者登入使用者,並使用基本流程,在 Amazon Cognito 身分集區中交換提供者權杖,以使用臨時憑證來呼叫 AWS 服務。

使用社交登入搭配範例應用程式中的基本流程
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇已驗證存取索引標籤。

  3. 選擇基本流程索引標籤。

  4. 選擇您已設定的支援社交供應商,例如使用 Google 登入使用 Facebook 登入使用 Amazon 登入

  5. 登入並同意與應用程式共用使用者資料。

  6. 供應商重新導向回應用程式的重新導向 URI

  7. 應用程式會將提供者字符傳送至您的身分集區,並擷取臨時 AWS 憑證

  8. 應用程式會在 Web 介面中顯示結果面板。

    身分驗證成功後,您將看到顯示結果面板的 Web 界面,並且您有兩個選項可以探索它們:

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T13:36:17-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • 應用程式會使用社交 IdP 登入使用者,並取得提供者字符。身分集區接受來自社交提供者的這些成品:

        身分提供者 Cognito 提供者金鑰 用途
        Google accounts.google.com 來自 Google Sign-In 的 OAuth 2.0 權杖
        Facebook graph.facebook.com 從 Facebook Login 存取字符
        Amazon www.amazon.com 來自 Login with Amazon 的 OAuth 權杖

        與社交供應商成功進行身分驗證後,您的應用程式會收到 OAuth 回應,其中包含存取字符和其他身分驗證詳細資訊:

        { "access_token": "ya29.A0AS3H6NEXAMPLE......", "expires_in": 3599, "scope": "openid https://www.examplesocial....", "token_type": "Bearer", "id_token": "eyJhbGciOiJSUzI1NiIsEXAMPLE......" }
      • GetId() 具有身分集區 ID 的 API 請求,以及包含社交供應商字符的Logins映射

        POST GetId { "IdentityPoolId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Logins": { "accounts.google.com": "token..." } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
      • GetOpenIdToken() 與傳回的 IdentityID和相同的登入對應

        POST GetOpenIdToken { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Logins": { "accounts.google.com": "token..." } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Token": "eyJraWQiOiJFWAMPLE......" }
      • AssumeRoleWithWebIdentity() 使用 OpenID 字符

        POST AssumeRoleWithWebIdentity { "RoleArn": "arn:aws:iam::111122223333:role/Cognito_IdentityPoolAuth_Role", "WebIdentityToken": "eyJraWQiOiJFWAMPLE......" }

        回應:

        { "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T14:36:17-07:00" } }

發生的情況:Amazon Cognito 會根據設定的提供者驗證權杖,並發出 OpenID 權杖。應用程式 AWS STS 直接呼叫 以擔任 IAM 角色並接收臨時登入資料。

了解社交存取

  • 社交使用者在向社交提供者驗證之後,會透過 Amazon Cognito 身分集區接收臨時 AWS 登入資料。

  • 每個已驗證的使用者都會取得保留在工作階段間的唯一身分 ID。

  • 這些登入資料會連結至專為已驗證存取設計的 IAM 角色,提供比訪客存取更廣泛的許可。

  • 社交提供者字符會交換為 AWS 登入資料,以維護使用者身分和許可。

此步驟會探索具有使用者集區受管登入整合的 Amazon Cognito 身分驗證。當您將使用者集區做為 IdP 連結至身分集區時,使用者集區權杖會授權您的身分集區發出臨時登入資料。

User pool authentication with enhanced flow

增強型流程透過單一 API 請求,提供透過 Amazon Cognito 身分集區取得 AWS 憑證的簡化方法。

將 Amazon Cognito 使用者集區身分驗證與身分集區增強流程搭配使用
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇已驗證存取索引標籤。

  3. 選擇增強型流程索引標籤。

  4. 選擇使用 Amazon Cognito 使用者集區登入

  5. 在受管登入中使用您的使用者名稱和密碼完成登入。

  6. 使用者集區會使用授權碼重新導向回您的應用程式重新導向 URI。

  7. 應用程式會與您的使用者集區交換授權碼,以取得 JSON Web 字符。

  8. 應用程式會將 ID 字符與您的身分集區交換為臨時 AWS 登入資料

  9. 應用程式會在 Web 介面中顯示結果面板

    身分驗證成功後,您會看到顯示結果面板的 Web 界面,而且您有兩個選項可以探索它們:

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T13:36:17-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • 應用程式使用 Amazon Cognito 登入使用者。使用使用者集區成功驗證後,您的應用程式會收到包含 ID 字符 (JWT) 的 OAuth 2.0 回應。身分集區會使用此提供者金鑰格式接受來自使用者集區的 JWT ID 字符:

        身分提供者 Cognito 提供者金鑰 用途
        Amazon Cognito 使用者集區 cognito-idp.{region}.amazonaws.com/{user-pool-id} 來自 Amazon Cognito 使用者集區的 JWT ID 字符

        使用使用者集區成功驗證後,您的應用程式會收到包含 ID 字符 (JWT) 的 OAuth 2.0 回應:

        { "id_token": "eyJraWQiOiJFWAMPLE......", "token_type": "Bearer", "expires_in": 3600 }
      • GetId() 具有 identityPoolIdLogins映射的 API 請求,其中包含映射至 的使用者集區提供者金鑰id_token。Amazon Cognito 已驗證使用者集區 ID 權杖的簽章、發行者、到期和對象 (aud) 符合您在身分集區中為此使用者集區 IdP 註冊的其中一個應用程式用戶端 IDs。

        POST GetId { "AccountId": "111122223333", "IdentityPoolId": "us-east-1:1ac4a76d-1fef-48aa-83af-4224799c0b5c", "Logins": { "cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE123": "eyJraWQiOiJFWAMPLE......" } }

        如果有效,它會尋找或建立並傳回使用者的 IdentityID。範例回應如下所示:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
      • GetCredentialsForIdentity() 與傳回的 identityPoolId和 a=與 相同的Logins映射id_token。Amazon Cognito 會重新驗證使用者集區 ID 權杖的簽章、發行者、到期和對象 (aud),與您為身分集區中此使用者集區 IdP 註冊的其中一個應用程式用戶端 IDs 相符。

        POST GetCredentialsForIdentity { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Logins": { "cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE123": "eyJraWQiOiJFWAMPLE......" } }

        如果有效,它會選擇 IAM 角色 (roles-in-token、規則或預設值)、代表您呼叫 AWS STS ,並傳回臨時 AWS 登入資料。範例回應如下所示:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "ASIAW7TIP7EJEXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T14:36:17-07:00" } }
User pool authentication with basic flow

基本流程提供對身分擷取和憑證產生之個別 API 請求的身分驗證程序的精細控制。

將 Amazon Cognito 使用者集區身分驗證與身分集區基本流程搭配使用
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇已驗證存取索引標籤。

  3. 選擇基本流程索引標籤。

  4. 選擇使用 Amazon Cognito 使用者集區登入

  5. 在受管登入中使用您的使用者名稱和密碼完成登入。

  6. 使用者集區會使用授權碼重新導向回您的應用程式重新導向 URI。

  7. 應用程式會與您的使用者集區交換授權碼,以取得 JSON Web 字符。

  8. 應用程式會將 ID 字符與您的身分集區交換為臨時 AWS 登入資料

  9. 應用程式會在 Web 介面中顯示結果面板

    身分驗證成功後,您將看到顯示結果面板的 Web 界面,並且您有兩個選項可以探索它們:

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T13:36:17-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • 應用程式使用 Amazon Cognito 使用者集區登入使用者,並取得 ID 字符 (JWT) 做為成品。使用使用者集區成功驗證後,您的應用程式會收到包含 ID 字符 (JWT) 的 OAuth 回應。身分集區使用此字符進行身分驗證:

        { "id_token": "eyJraWQiOiJFWAMPLE......", "token_type": "Bearer", "expires_in": 3600 }
      • GetId() 具有身分集區 ID 和Logins映射的 API 請求,其中包含您的使用者集區提供者金鑰和 ID 字符作為值。Amazon Cognito 驗證使用者集區 ID 權杖的簽章、到期和對象 (aud) 符合您在身分集區中為此使用者集區 IdP 註冊的其中一個應用程式用戶端 IDs。

        POST GetId { "AccountId": "111122223333", "IdentityPoolId": "us-east-1:1ac4a76d-1fef-48aa-83af-4224799c0b5c", "Logins": { "cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE123": "eyJraWQiOiJFWAMPLE......" } }

        如果有效,它會尋找或建立並傳回使用者的 IdentityID。範例回應如下所示:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
      • GetOpenIdToken() 與傳回的 IdentityID和相同的Logins映射

        POST GetOpenIdToken { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Logins": { "cognito-idp.us-east-1.amazonaws.com/us-east-1_EXAMPLE123": "eyJraWQiOiJFWAMPLE......" } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Token": "eyJraWQiOiJFWAMPLE......" }

        此步驟中發生的情況:Amazon Cognito 會從 cognito-identity.amazonaws.com 發出代表此 的短期 OpenID Connect Web 身分字符IdentityId。權杖包含 AWS STS 評估的 OIDC 宣告,包括 aud (您的身分集區 ID) 和 amr (已驗證或未驗證)。IAM 角色的信任政策必須要求這些宣告。

      • AssumeRoleWithWebIdentity() - 您的應用程式 AWS STS 會直接呼叫 ,以交換 Amazon Cognito OpenID 字符做為臨時 AWS 登入資料

        POST sts:AssumeRoleWithWebIdentity { "RoleArn": "arn:aws:iam::111122223333:role/Cognito_IdentityPoolAuth_Role", "WebIdentityToken": "eyJraWQiOiJFWAMPLE......", "RoleSessionName": "CognitoIdentityCredentials" }

        回應:

        { "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "FwoGZXIvYXdzEEXAMPLE......", "Expiration": "2025-08-12T14:36:17-07:00" }, "AssumedRoleUser": { "AssumedRoleId": "AROAW7TIP7EJYEXAMPLE:CognitoIdentityCredentials", "Arn": "arn:aws:sts::111122223333:assumed-role/Cognito_IdentityPoolAuth_Role/CognitoIdentityCredentials" } }

        您的示範應用程式執行的動作:您的應用程式將 OpenID 權杖從 GetOpenIdToken()傳送到 AWS STS,請求臨時登入資料。 AWS STS 已執行驗證檢查和發行的登入資料:

  • 使用者集區使用者透過 Amazon Cognito 身分集區接收臨時 AWS 憑證。

  • 這些登入資料會連結到身分集區組態中指定的 IAM 角色。

  • 使用者集區 ID 字符會透過身分集區交換 AWS 登入資料。

此步驟會探索 SAML 身分驗證。使用者可以使用支援 SAML 存取 AWS 服務的企業身分提供者登入。範例應用程式不支援使用 SAML 的基本流程。

SAML authentication with enhanced flow

本節說明如何使用 SAML 身分提供者登入使用者,並使用增強型流程,將 Amazon Cognito 身分集區中的 SAML 聲明交換為臨時 AWS 憑證以呼叫 AWS 服務。

搭配身分集區增強流程使用 SAML 身分驗證
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇已驗證存取索引標籤。

  3. 選擇增強型流程索引標籤。

  4. 選擇使用 SAML 供應商登入

  5. 使用您的企業登入資料完成登入。

  6. 使用者集區會使用 SAML 聲明重新導向回您的應用程式重新導向 URI。

  7. 應用程式會與您的使用者集區交換授權碼,以取得 JSON Web 字符。

  8. 應用程式會將 SAML 回應與您的身分集區交換為臨時 AWS 登入資料

  9. 應用程式會在 Web 介面中顯示結果面板

    身分驗證成功後,您會看到顯示結果面板的 Web 界面,而且您有兩個選項可以探索它們:

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T13:36:17-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • 應用程式會使用 SAML IdP 登入使用者,並取得 SAML 回應。身分集區使用 SAML 提供者 ARN 做為金鑰,接受來自企業提供者的 SAML 聲明:

        身分提供者 Cognito 提供者金鑰 用途
        SAML 供應商 arn:aws:iam::111122223333:saml-provider/EXAMPLE 來自企業 IdPs SAML 聲明

        與 SAML 供應商成功進行身分驗證後,您的應用程式會透過 HTTP POST 接收 SAML 回應到您的回呼 URL:

        { "saml_response": "PD94bWwgdmVyc2lvbj0iMS4wIiBFWAMPLE...", "provider_arn": "arn:aws:iam::111122223333:saml-provider/EXAMPLE", "status": "Authentication successful" }
      • GetId() 具有身分集區 ID 的 API 請求,以及包含 SAML 供應商 ARN 和聲明的Logins映射

        POST GetId { "AccountId": "111122223333", "IdentityPoolId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Logins": { "arn:aws:iam::111122223333:saml-provider/EXAMPLE": "PD94bWwgdmVyc2lvbj0iMS4wIiBFWAMPLE..." } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
      • GetCredentialsForIdentity() 與傳回的 IdentityID和相同的Logins映射

        POST GetCredentialsForIdentity { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Logins": { "arn:aws:iam::111122223333:saml-provider/EXAMPLE": "PD94bWwgdmVyc2lvbj0iMS4wIiBFWAMPLE..." } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......" } }

發生的情況:Amazon Cognito 會根據設定的提供者驗證 SAML 聲明、根據 SAML 屬性或規則選擇 IAM 角色,以及 AWS STS 代表您呼叫 。

了解 SAML 存取

  • 在向 SAML 供應商驗證之後,企業使用者會收到來自 Amazon Cognito 身分集區的臨時 AWS 憑證。

  • 每個已驗證的使用者都會取得保留在工作階段間的唯一身分 ID。

  • 這些登入資料會連結至專為已驗證存取設計的 IAM 角色,提供比訪客存取更廣泛的許可。

  • SAML 聲明會交換為 AWS 登入資料,以維護使用者身分和企業屬性。

此步驟會探索企業身分提供者的 OIDC 身分驗證。使用者可以透過組織的企業身分提供者 (例如 Azure AD、Okta 或 Google Workspace) 登入以存取 AWS 服務。如果您要尋找將標準型身分驗證與 AWS 資源整合的相關資訊,請繼續閱讀。實作 OIDC 身分驗證之後,您將了解如何利用 OIDC 宣告進行精細存取控制。

OIDC authentication with enhanced flow

本節說明如何使用 OIDC 身分提供者來登入使用者,並使用增強型流程,在 Amazon Cognito 身分集區中交換 OIDC 權杖,以取得臨時 AWS 憑證以呼叫 AWS 服務。

搭配身分集區增強流程使用 OIDC 登入
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇已驗證存取索引標籤。

  3. 選擇增強型流程索引標籤。

  4. 選擇使用 OIDC 供應商登入

  5. 使用您的企業登入資料完成登入。

  6. OIDC 提供者會使用授權碼重新導向回應用程式

  7. 應用程式會與您的使用者集區交換授權碼,以取得 JSON Web 字符。

  8. 應用程式會將 OIDC 權杖傳送至您的身分集區,並擷取臨時 AWS 登入資料。

  9. 應用程式會在 Web 介面中顯示結果面板

    身分驗證成功後,您會看到顯示結果面板的 Web 界面,而且您有兩個選項可以探索它們:

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T13:36:17-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • 應用程式使用 OIDC IdP 登入使用者,並取得 ID 字符。身分集區接受來自企業供應商的 OIDC 權杖:

        身分提供者 Cognito 提供者金鑰 用途
        OIDC 供應商 example-provider.com/oauth2/default 來自企業 IdPs OIDC ID 字符

        與 OIDC 供應商成功進行身分驗證後,您的應用程式會收到包含字符的 OAuth 2.0 回應:

        { "token_type": "Bearer", "expires_in": 3600, "access_token": "eyJraWQiOiJFWAMPLE......", "scope": "email openid profile", "id_token": "eyJraWQiOiJFWAMPLE......" }
      • GetId() 具有身分集區 ID 的 API 請求,以及包含 OIDC 提供者字符的Logins映射

        POST GetId { "AccountId": "111122223333", "IdentityPoolId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Logins": { "example-provider.com/oauth2/default": "eyJraWQiOiJFWAMPLE......" } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
      • GetCredentialsForIdentity() 與傳回的 IdentityID和相同的登入對應

        POST GetCredentialsForIdentity { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Logins": { "example-provider.com/oauth2/default": "eyJraWQiOiJFWAMPLE......" } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......" } }

發生的情況:Amazon Cognito 會根據設定的提供者驗證 OIDC 權杖、選擇 IAM 角色 (預設、宣告型或規則映射),並 AWS STS 代表您呼叫 。

OIDC authentication with basic flow

本節說明如何使用 OIDC 身分提供者來登入使用者,並使用基本流程,在 Amazon Cognito 身分集區中交換 OIDC 權杖以呼叫 AWS AWS 服務。

將 OIDC 登入與身分集區基本流程搭配使用
  1. 在示範應用程式中,導覽至互動式示範區段

  2. 選擇已驗證存取索引標籤。

  3. 選擇基本流程索引標籤。

  4. 選擇使用 OIDC 供應商登入

  5. 使用您的企業登入資料完成登入。

  6. OIDC 提供者會使用授權碼重新導向回應用程式

  7. 應用程式會與您的使用者集區交換授權碼,以取得 JSON Web 字符。

  8. 應用程式會將 OIDC 權杖傳送至您的身分集區,並擷取臨時 AWS 登入資料。

  9. 應用程式會在 Web 介面中顯示結果面板

    身分驗證成功後,您會看到顯示結果面板的 Web 界面,而且您有兩個選項可以探索它們:

    1. 僅檢視登入資料按鈕:如果您想要直接查看在沒有 API 流程詳細資訊的情況下產生的臨時 AWS 登入資料,請選擇此按鈕。

      { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "IQoJb3JpZ2luX2VjEEXAMPLE......", "Expiration": "2025-08-12T13:36:17-07:00" } }
    2. 檢視詳細的 API 流程按鈕:如果您想要查看step-by-step請求,請選擇此按鈕。

      • 應用程式使用 OIDC IdP 登入使用者,並取得 ID 字符。身分集區接受來自企業供應商的 OIDC 權杖:

        身分提供者 Cognito 提供者金鑰 用途
        OIDC 供應商 example-provider.com/oauth2/default 來自企業 IdPs OIDC ID 字符

        與 OIDC 供應商成功進行身分驗證後,您的應用程式會收到包含字符的 OAuth 2.0 回應:

        { "token_type": "Bearer", "expires_in": 3600, "access_token": "eyJraWQiOiJFWAMPLE......", "scope": "openid email profile", "id_token": "eyJraWQiOiJFWAMPLE......" }
      • GetId() 具有身分集區 ID 的 API 請求,以及包含 OIDC 提供者字符的Logins映射

        POST GetId { "IdentityPoolId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Logins": { "example-provider.com/oauth2/default": "eyJraWQiOiJFWAMPLE......" } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }
      • GetOpenIdToken() 傳回的 IdentityID 和相同的Logins映射

        POST GetOpenIdToken { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Logins": { "example-provider.com/oauth2/default": "eyJraWQiOiJFWAMPLE......" } }

        回應:

        { "IdentityId": "us-east-1:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Token": "eyJraWQiOiJFWAMPLE......" }
      • AssumeRoleWithWebIdentity() 使用 OpenID 字符

        POST AssumeRoleWithWebIdentity { "RoleArn": "arn:aws:iam::111122223333:role/Cognito_IdentityPoolAuth_Role", "WebIdentityToken": "eyJraWQiOiJFWAMPLE......" }

        回應:

        { "Credentials": { "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "SessionToken": "FwoGZXIvYXdzEEXAMPLE......", "Expiration": "2025-08-12T14:36:17-07:00" } }

發生的情況:Amazon Cognito 會根據設定的提供者驗證 OIDC 權杖,並傳回 OpenID 權杖。應用程式 AWS STS 直接呼叫 以擔任適當的 IAM 角色,並收到短期登入資料。

了解 OIDC 身分驗證

  • 標準型:OIDC 是以 OAuth 2.0 為基礎,並提供標準化的身分資訊。

  • 權杖驗證:可以驗證 ID 權杖的真實性。

  • 宣告型存取:OIDC 宣告可用於角色映射和存取控制。

  • 企業整合:與熱門的企業身分提供者搭配使用。

後續步驟

現在您已設定並探索示範應用程式,您可以:

  • 設定您尚未測試的其他身分提供者

  • 使用增強型和基本身分驗證進行實驗,以了解其差異

  • 針對您自己的使用案例自訂示範

  • 將 Amazon Cognito 身分集區整合到您自己的應用程式中。