メール ID が指定されている場合は、メールにユーザー アカウントが登録されているかどうかを確認し、返します。登録済みのアカウントがある場合は、そのアカウントのメールアドレスに関連付けられているすべてのプロバイダを取得します。
ID プロバイダ(IdP)のプロバイダ ID が指定されている場合は、IdP の承認 URI を作成します。ユーザーはこの URI にリダイレクトされ、IdP でログインできます。
Google Cloud プロジェクトを識別するには、リクエストに API キーが必要です。
HTTP リクエスト
POST https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
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 がユーザーをリダイレクトする有効な URL。URL にフラグメントや予約済みの |
openidRealm |
|
providerId |
ユーザーがログインする IdP のプロバイダ ID。これは、ログイン用に有効になっているプロバイダ ID である必要があります。これは、デフォルトでサポートされている IdP のリストから選択するか、 |
oauthConsumerKey |
|
oauthScope |
IdP との認証リクエストのスコープを指定する、スペース区切りの追加の OAuth 2.0 スコープ。OAuth 2.0 IdP に使用。 Google プロバイダの場合、このフィールドが設定されていると、認証コードフローを使用します。 |
context |
認証リクエストと IdP からのコールバック間のコンテキスト情報を維持するために使用される不透明な文字列。 |
otaApp |
|
appId |
|
hostedDomain |
Google プロバイダに使用されます。ユーザーの G Suite ホストドメイン(そのドメインのユーザーにログインを制限するため)。 |
sessionId |
accounts.signInWithIdp で確認できるセッション ID。セッション固定攻撃を防ぐことができます。指定しない場合、ランダムな文字列が生成され、セッション ID として返されます。 |
authFlowType |
Google プロバイダに使用されます。使用する認証フローのタイプ。存在する場合は、認証コードフローを指定するために |
customParameter |
認可 URI に追加する追加のカスタマイズされたクエリ パラメータ。次のパラメータは予約済みであり、追加できません。 Microsoft プロバイダの場合、ログインする Azure AD テナントは
|
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 で以前にログインしたことがあるかどうか。登録済みのメール識別子がリクエストで設定されている場合にのみ存在します。 |
captchaRequired |
ユーザーによるログイン試行が過度に多いために CAPTCHA が必要かどうか。登録済みのメール識別子がリクエストで設定されている場合にのみ存在します。 |
sessionId |
リクエストのセッション ID、または存在しない場合は accounts.createAuthUri によって生成されたランダムな文字列。セッション修正攻撃を防ぐために使用されます。 |
signinMethods[] |
ユーザーが以前に使用したログイン方法のリスト。各要素は、 |
認可スコープ
以下のいずれかの OAuth スコープが必要です。
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
詳細については、Authentication Overview をご覧ください。