我想要將透過第三方身分提供者 (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 使用者帳戶。
相關資訊
透過第三方身分提供者登入使用者集區
受管登入與聯合錯誤回應