跳至內容

如何將外部聯合身分使用者連結至原生 Cognito 使用者,或將其取消連結?

1 分的閱讀內容
0

我想要將透過第三方身分提供者 (IdP) 聯合登入的使用者,連結到我使用者集區中的原生 Amazon Cognito 使用者設定檔。或者,我想將已連結的聯合身分使用者從 Amazon Cognito 使用者集區中的使用者設定檔中取消連結。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

連結外部聯合身分使用者

每個原生使用者設定檔最多可以連結五個聯合身分使用者。

若要連結聯合身分使用者,請執行以下 admin-link-provider-for-user AWS CLI 命令:

aws cognito-idp admin-link-provider-for-user \
    --user-pool-id User_Pool_ID \
    --destination-user ProviderAttributeValue=Username,ProviderName=Cognito \
    --source-user ProviderName=Provider_Name,ProviderAttributeName=Attribute,ProviderAttributeValue=Attribute_Value

**注意:**將 User_Pool_ID 替換為您的 Amazon Cognito 使用者集區 ID,將 Username 替換為原生 Amazon Cognito 使用者名稱,並將 Provider_Name 替換為第三方 IdP。將 Attribute 替換為對應到 IdP 的使用者屬性,並將 Attribute_Value 替換為聯合身分使用者的屬性。

如果命令成功執行,則輸出將顯示 HTTP 200 狀態,且正文為空。

**注意:**您無法將 Amazon Cognito 威脅偵測與聯合登入提供者結合使用。Amazon Cognito 使用者活動日誌不會記錄聯合登入活動。如需詳細資訊,請參閱將聯合身分使用者連結到現有使用者設定檔

取消連結外部聯合身分使用者

若要取消聯合身分使用者的連結,請執行以下 admin-disable-provider-for-user 命令:

aws cognito-idp admin-disable-provider-for-user \
    --user-pool-id User_Pool_ID \
    --user ProviderName=Provider_Name,ProviderAttributeName=Attribute,ProviderAttributeValue=Attribute_Value

**注意:**將 User_Pool_ID 替換為您的 Amazon Cognito 使用者集區 ID,並將 Provider_Name 替換為您的 IdP。將 Attribute 替換為對應到聯合 IdP 的使用者屬性,並將 Attribute_Value 替換為聯合身分使用者的屬性。

如果命令成功執行,則輸出將顯示 HTTP 200 狀態,且正文為空。

若要確認使用者屬性中已不再顯示取消連結的使用者,請執行 admin-get-user 命令。

取消聯合身分使用者的連結後,該使用者將無法使用 IdP 登入 Amazon Cognito 使用者帳戶。

相關資訊

透過第三方身分提供者登入使用者集區

受管登入與聯合錯誤回應

AWS 官方已更新 3 個月前