本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定建立使用者的原則
您的使用者集區可以允許使用者註冊,或也可將其建立為管理員。您還可以控制註冊後的驗證和確認過程有多大程度掌握在用戶手中。例如,您可能想要根據外部驗證程序查看並接受註冊。此組態或管理員建立使用者政策,也定下了使用者將無法再確認自身帳戶前的時限。
Amazon Cognito 可以滿足公有客戶的需求,作為軟體的客戶身分和存取管理 (CIAM) 平台。針對任何知道您公開應用程式客戶端 ID 並請求註冊的網路用戶,接受註冊並具有應用程式客戶端 (無論是否具有託管 UI) 的使用者集區可為其創建使用者設定檔。註冊的使用者設定檔可以接收存取和身份權杖,並可存取您授權給應用程式的資源。在使用者集區中啟用註冊之前,請先檢閱您的選項,並確保組態符合安全性標準。請謹慎設定啟用自助註冊與 AllowAdminCreateUserOnly
,如下列流程所述。
- AWS Management Console
-
使用者集區的註冊體驗索引標籤,以及建立使用者集區精靈的設定註冊體驗步驟,包含了一些在使用者集區中註冊和管理建立使用者的設定。
若要設定註冊體驗
-
在 Cognito 輔助驗證和確認中,選擇是否允許 Cognito 自動傳送訊息以進行驗證和確認。啟用此設定後,Amazon Cognito 會傳送電子郵件或SMS訊息給新使用者,並包含必須呈現至使用者集區的程式碼。這會確認他們的電子郵件地址或電話號碼所有權、將等效屬性設置為已驗證、並確認用戶帳戶以進行登入。您選擇的待驗證屬性會決定驗證訊息的傳遞方式和目的地。
-
驗證屬性變更在建立使用者時並不重要,但與屬性驗證相關。如使用者已變更但尚未驗證登入屬性,您可以允許其繼續使用新屬性值或原始屬性值登入。如需詳細資訊,請參閱在使用者變更電子郵件或電話號碼時進行驗證。
-
必要屬性顯示必須先提供值的屬性,才能讓使用者註冊或讓您建立使用者。您只能在建立使用者集區精靈中設定必要的屬性。
-
自訂屬性對使用者建立和註冊程序很重要,因為您只能在第一次建立使用者時為不可變的自訂屬性設定值。如需自訂屬性的詳細資訊,請參閱 自訂屬性。
-
在自助註冊 中,如果您想要使用者能夠使用未驗證的 SignUp
產生新帳戶,請選取啟用自我註冊API。如果您停用自我註冊,您只能在 Amazon Cognito 主控台中或透過 AdminCreateUser API 請求建立新的使用者作為管理員。在自我註冊處於非作用中狀態的使用者集區中,SignUpAPI請求會傳回,NotAuthorizedException
且託管的 UI 不會顯示註冊連結。
針對您打算以管理員身分建立使用者的使用者集區,您可以在登入體驗索引標籤中的管理員設定的臨時密碼過期時間下,設定其暫時密碼的持續時間。
管理員建立用戶的另一個重要元素是邀請訊息。當您建立新使用者時,Amazon Cognito 會傳送訊息給他們,內含可讓他們進行首次登入的應用程式連結。在訊息範本下的訊息索引標籤中自訂此訊息範本。
您可以使用用戶端機密來設定機密應用程式用戶端 (通常是 Web 應用程式),防止在沒有應用程式用戶端機密的情況下註冊。作為安全性最佳實務,請勿在公有應用程式用戶端 (通常是行動應用程式) 中散佈應用程式用戶端機密。您可以在 Amazon Cognito 主控台的應用程式整合索引標籤中建立包含用戶端機密的應用程式用戶。
- Amazon Cognito user pools API
-
您可以程式設計方式設定參數,以在 CreateUserPool或 UpdateUserPoolAPI請求的使用者集區中建立使用者。
AdminCreateUserConfig 元素會為使用者集區的下列屬性設定值。
-
啟用自助註冊
-
您傳送給新管理員建立的使用者之邀請訊息
下列範例在新增至完整API請求內文時,會設定具有自助註冊非作用中的使用者集區,以及基本邀請電子郵件。
"AdminCreateUserConfig": {
"AllowAdminCreateUserOnly": true,
"InviteMessageTemplate": {
"EmailMessage": "Your username is {username} and temporary password is {####}.",
"EmailSubject": "Welcome to ExampleApp",
"SMSMessage": "Your username is {username} and temporary password is {####}."
}
}
CreateUserPool 或 UpdateUserPoolAPI請求的下列其他參數會管理新使用者的建立。
- AutoVerifiedAttributes
-
您想要在註冊新使用者時自動傳送訊息的屬性、電子郵件或電話號碼。
- 政策
-
使用者集區密碼政策。
- 結構描述
-
使用者集區自訂屬性。它們對使用者建立和註冊程序很重要,因為您只能在第一次建立使用者時為不可變的自訂屬性設定值。
此參數也為使用者集區設定必要屬性。下列文字插入完整API請求內文的 Schema
元素時,請視需要設定 email
屬性。
{
"Name": "email",
"Required": true
}