本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
實作身分驗證流程
無論您是實作受管登入,還是使用 AWS 開發套件進行身分驗證的自訂建置應用程式前端,都必須為您要實作的身分驗證類型設定應用程式用戶端。下列資訊說明應用程式用戶端和應用程式中身分驗證流程的設定。
- App client supported flows
-
您可以在 Amazon Cognito 主控台或使用 AWS SDK 中的 API,為您的應用程式用戶端設定支援的流程。將應用程式用戶端設定為支援這些流程之後,您可以在應用程式中部署它們。
下列程序會使用 Amazon Cognito 主控台設定應用程式用戶端的可用身分驗證流程。
為身分驗證流程設定應用程式用戶端 (主控台)
-
登入 AWS 並導覽至 Amazon Cognito 使用者集區主控台
。選擇使用者集區或建立新的集區。 -
在您的使用者集區組態中,選取應用程式用戶端選單。選擇應用程式用戶端或建立新的用戶端。
-
在應用程式用戶端資訊下,選取編輯。
-
在應用程式用戶端流程下,選擇您要支援的身分驗證流程。
設定應用程式用戶端進行身分驗證流程 (API/SDK)
若要使用 Amazon Cognito API 設定應用程式用戶端的可用身分驗證流程,請在 CreateUserPoolClient 或 UpdateUserPoolClient 請求
ExplicitAuthFlows中設定 的值。以下是將安全遠端密碼 (SRP) 和選擇型身分驗證佈建給用戶端的範例。"ExplicitAuthFlows": [ "ALLOW_USER_AUTH", "ALLOW_USER_SRP_AUTH" ]當您設定應用程式用戶端支援的流程時,您可以指定下列選項和 API 值。
應用程式用戶端流程支援 身分驗證流程 相容性 主控台 API 選擇型身分驗證 伺服器端、用戶端 在登入時選取身分驗證類型 ALLOW_USER_AUTH使用持久性密碼登入 用戶端 使用使用者名稱和密碼登入 ALLOW_USER_PASSWORD_AUTH使用持久性密碼和安全承載登入 伺服器端、用戶端 使用安全的遠端密碼 (SRP) 登入 ALLOW_USER_SRP_AUTH重新整理權杖 伺服器端、用戶端 從現有的已驗證工作階段取得新的使用者字符 ALLOW_REFRESH_TOKEN_AUTH伺服器端身分驗證 伺服器端 使用伺服器端管理登入資料登入 ALLOW_ADMIN_USER_PASSWORD_AUTH自訂身分驗證 伺服器端和用戶端自訂建置的應用程式。與受管登入不相容。 使用來自 Lambda 觸發程序的自訂身分驗證流程登入 ALLOW_CUSTOM_AUTH -
- Implement flows in your application
-
受管登入會自動在登入頁面中提供您設定的身分驗證選項。在自訂建置的應用程式中,使用初始流程的宣告開始身分驗證。
-
若要為使用者選擇流程選項清單,請使用
USER_AUTH流程宣告以選擇為基礎的身分驗證。此流程具有用戶端型身分驗證流程中無法使用的可用身分驗證方法,例如通行金鑰和無密碼身分驗證。 -
若要選擇您的身分驗證流程,請使用應用程式用戶端中可用的任何其他流程宣告用戶端型身分驗證。
當您登入使用者時,InitiateAuth 或 AdminInitiateAuth 請求的內文必須包含
AuthFlow參數。以選擇為基礎的身分驗證:
"AuthFlow": "USER_AUTH"使用 SRP 的用戶端型身分驗證:
"AuthFlow": "USER_SRP_AUTH" -