本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理及搜尋使用者帳戶
建立使用者集區之後,您可以使用 AWS Management Console,也可以使用 AWS Command Line Interface 或 Amazon Cognito API 來檢視並管理使用者。本主題說明如何使用 AWS Management Console來檢視及搜尋使用者。
檢視使用者屬性
使用下列處理程序,在 Amazon Cognito 主控台中檢視使用者屬性。
檢視使用者屬性
-
前往 Amazon Cognito 主控台
。若出現提示,請輸入 AWS 憑證。 -
選擇 User Pools (使用者集區)。
-
從清單中選擇現有的使用者集區。
-
選擇 Users (使用者) 標籤,然後在清單中選取使用者。
-
在使用者詳細資訊頁面,User attributes (使用者屬性) 下,您可以檢視與使用者相關聯的屬性。
重設使用者密碼
使用下列處理程序,在 Amazon Cognito 主控台中重設使用者密碼。
重設使用者密碼
-
前往 Amazon Cognito 主控台
。若出現提示,請輸入 AWS 憑證。 -
選擇 User Pools (使用者集區)。
-
從清單中選擇現有的使用者集區。
-
選擇 Users (使用者) 標籤,然後在清單中選取使用者。
-
在使用者詳細資訊頁面上,選擇 Actions (動作)、Reset password (重設密碼)。
-
在 Reset password (重設密碼) 對話方塊中檢閱資訊,準備好時,選擇 Reset (重設)。
此動作會導致立即傳送確認碼給使用者,並將使用者狀態變更為
RESET_REQUIRED
,以停用使用者目前的密碼。Reset password (重設密碼) 代碼有效期為 1 小時。
搜尋使用者屬性
如果您已經建立使用者集區,即可從 中的 UsersAWS Management Console (使用者) 面板進行搜尋。您也可以使用 Amazon Cognito ListUsers API,其接受 Filter 參數。
您可以搜尋下列任何標準屬性。無法搜尋自訂屬性。
-
username (區分大小寫)
-
email
-
phone_number
-
name
-
given_name
-
family_name
-
preferred_username
-
cognito:user_status (在主控台中稱為 Status (狀態)、區分大小寫)
-
status (在主控台中稱為 Enabled (已啟用)、區分大小寫)
-
sub
注意
您也可以使用用戶端篩選條件列出使用者。與伺服器端篩選條件相符的屬性不超過 1 個。若要執行進階搜尋,請將用戶端篩選條件與 AWS Command Line Interface 中的 list-users
動作 --query
參數搭配使用。當您使用用戶端篩選條件時,ListUsers 會傳回零個或多個使用者的分頁清單。您可以連續接收多個結果為零的頁面。使用傳回的每個分頁權杖重複查詢,直到您收到空分頁權杖值為止,然後檢閱合併的結果。
如需伺服器端和用戶端篩選的詳細資訊,請參閱《AWS Command Line Interface 使用者指南》中的篩選 AWS CLI 輸出。
使用 AWS Management Console 來搜尋使用者
如果您已經建立使用者集區,即可從 中的 UsersAWS Management Console (使用者) 面板進行搜尋。
AWS Management Console搜尋一律為字首 (「開頭為」) 搜尋。
在 Amazon Cognito 主控台中搜尋使用者
-
前往 Amazon Cognito 主控台
。您可能會收到提示,要求您輸入 AWS 憑證。 -
選擇 User Pools (使用者集區)。
-
從清單中選擇現有的使用者集區。
-
選擇 Users (使用者) 標籤,然後在搜尋欄位中輸入使用者的使用者名稱。請注意,某些屬性值須區分大小寫 (例如 Username (使用者名稱))。
您也可以透過調整搜尋篩選條件來尋找使用者,將範圍縮小至其他使用者屬性,例如 Email (電子郵件)、Phone number (電話號碼) 或 Last name (姓氏)。
使用 ListUsers
API 來搜尋使用者
若要從您的應用程式搜尋使用者,請使用 Amazon Cognito ListUsers API。此 API 會使用下列參數:
-
AttributesToGet
:任何字串陣列,其中每個字串都是要在搜尋結果中,為每個使用者傳回的使用者屬性名稱。若要擷取所有屬性,請勿包含AttributesToGet
參數,或請求其值為常值字串null
的AttributesToGet
。 -
Filter
:格式為「AttributeName
Filter-Type
"AttributeValue
"」的篩選字串。篩選字串中的引號必須使用斜線 (\
) 字元來逸出。例如"family_name = \"Reddy\""
。如果篩選字串是空的,ListUsers
會傳回使用者集區中的所有使用者。-
AttributeName
:所要搜尋的屬性名稱。您一次只能搜尋一個屬性。注意
您只能搜尋標準屬性。無法搜尋自訂屬性。這是因為只有已編製索引的屬性可供搜尋,而自訂屬性無法編製索引。
-
Filter-Type
:若要搜尋完全相符的項目,請使用=
,例如,given_name = "Jon"
。若要搜尋字首 (「開頭為」) 相符的項目,請使用^=
,例如,given_name ^= "Jon"
。 -
AttributeValue
:必須符合為每個使用者的屬性值。
-
-
Limit
:所要傳回的使用者數量上限。 -
PaginationToken
:此權杖可用來從先前的搜尋取得更多結果。Amazon Cognito 將在一小時後讓分頁權杖過期。 -
UserPoolId
:要對其執行搜尋之使用者集區的使用者集區 ID。
所有搜尋皆區分大小寫。搜尋結果會依 AttributeName
字串指定的屬性遞增排序。
使用 ListUsers
API 的範例
下列範例會傳回所有使用者,並包含所有屬性。
{ "AttributesToGet": null, "Filter": "", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }
下列範例會傳回電話號碼以 "+1312" 開頭的所有使用者,並包含所有屬性。
{ "AttributesToGet": null, "Filter": "phone_number ^= \"+1312\"", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }
下列範例會傳回姓氏為 "Reddy" 的前 10 個使用者。針對每個使用者,搜尋結果都會包含使用者的名字、電話號碼和電子郵件地址。如果使用者集區中有超過 10 個相符的使用者,則回應會包含分頁權杖。
{ "AttributesToGet": [ "given_name", "phone_number", "email" ], "Filter": "family_name = \"Reddy\"", "Limit": 10, "UserPoolId": "us-east-1_samplepool" }
如果上述範例傳回分頁權杖,則下列範例會傳回下 10 個符合相同篩選字串的使用者。
{ "AttributesToGet": [ "given_name", "phone_number", "email" ], "Filter": "family_name = \"Reddy\"", "Limit": 10, "PaginationToken": "pagination_token_from_previous_search", "UserPoolId": "us-east-1_samplepool" }