如果指定電子郵件 ID,系統會檢查並傳回是否有任何使用者帳戶使用該電子郵件註冊。如果有已註冊的帳戶,就會擷取與帳戶電子郵件地址相關聯的所有供應商。
如果指定了 Identity Provider (IdP) 的供應器 ID,就會為 IdP 建立授權 URI。使用者可以前往這個 URI,透過 IdP 登入。
如要識別 Google Cloud 專案,請在要求中提供 API 金鑰。
HTTP 要求
POST https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri
這個網址使用 gRPC 轉碼語法。
要求主體
要求主體包含下列結構的資料:
JSON 表示法 |
---|
{ "identifier": string, "continueUri": string, "openidRealm": string, "providerId": string, "oauthConsumerKey": string, "oauthScope": string, "context": string, "otaApp": string, "appId": string, "hostedDomain": string, "sessionId": string, "authFlowType": string, "customParameter": { string: string, ... }, "tenantId": string } |
欄位 | |
---|---|
identifier |
要擷取相關供應商的使用者帳戶電子郵件 ID。必須設定至少一個 電子郵件地址的長度不得超過 256 個半形字元,格式為 |
continueUri |
IdP 將使用者重新導向的有效網址。網址不得含有片段或保留的 |
openidRealm |
|
providerId |
使用者用於登入的 IdP 供應器 ID。這應該是已啟用登入功能的供應商 ID,可從預設支援的 IdP清單中找到,或採用 |
oauthConsumerKey |
|
oauthScope |
其他以空格分隔的 OAuth 2.0 範圍,用於指定與 IdP 的驗證要求範圍。用於 OAuth 2.0 IdP。 如果是 Google 供應器,則在設定這個欄位時,系統會使用授權碼流程。 |
context |
不透明字串,用於在驗證要求和 IdP 的回呼之間維持背景資訊。 |
otaApp |
|
appId |
|
hostedDomain |
用於 Google 供應器。使用者的 G Suite 代管網域,用於限制登入該網域的使用者。 |
sessionId |
可在 accounts.signInWithIdp 中驗證的工作階段 ID,以防範工作階段固定攻擊。如果未提供,系統會產生隨機字串,並以工作階段 ID 的形式傳回。 |
authFlowType |
用於 Google 供應器。要使用的驗證流程類型。如果存在,則應為 |
customParameter |
要新增至授權 URI 的其他自訂查詢參數。下列參數為保留參數,無法新增: 針對 Microsoft 提供者,您可以在 包含 |
tenantId |
要建立授權 URI 或查詢電子郵件 ID 的 Identity Platform 租戶 ID。如果未設定,系統會在專案中的預設 Identity Platform 例項中執行這項作業。 |
回應主體
accounts.createAuthUri 的回應訊息。
如果成功,回應主體會含有以下結構的資料:
JSON 表示法 |
---|
{ "kind": string, "authUri": string, "allProviders": [ string ], "registered": boolean, "providerId": string, "forExistingProvider": boolean, "captchaRequired": boolean, "sessionId": string, "signinMethods": [ string ] } |
欄位 | |
---|---|
kind |
|
authUri |
要求的供應商授權 URI。只有在要求中設定了供應商 ID 時才會顯示。 |
allProviders[] |
|
registered |
電子郵件 ID 是否代表現有帳戶。只有在要求中設定電子郵件 ID 時才會出現。 |
providerId |
來自要求的提供者 ID (如有提供)。 |
forExistingProvider |
指出使用者是否曾以要求中的提供者 ID 登入。只有在要求中設定已註冊的電子郵件 ID 時才會出現。 |
captchaRequired |
使用者嘗試登入失敗次數過多,是否需要輸入人機驗證。只有在要求中設定已註冊的電子郵件 ID 時才會出現。 |
sessionId |
要求中的會話 ID,或在缺少時由 accounts.createAuthUri 產生的隨機字串。可用來防範工作階段固定攻擊。 |
signinMethods[] |
使用者先前使用的登入方式清單。每個元素都是 |
授權範圍
需要下列其中一種 OAuth 範圍:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
詳情請參閱 Authentication Overview。