Method: accounts.createAuthUri

メール 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

string

関連付けられたプロバイダを取得するユーザー アカウントのメール ID。identifier フィールドと providerId フィールドの少なくとも 1 つを設定する必要があります。

メールアドレスの長さは 256 文字未満で、name@domain.tld の形式にする必要があります。メールアドレスは、RFC 822 addr-spec 本番環境と一致している必要があります。

continueUri

string

IDP がユーザーをリダイレクトする有効な URL。URL にフラグメントや予約済みの state クエリ パラメータを含めることはできません。

openidRealm
(deprecated)

string

providerId

string

ユーザーがログインする IdP のプロバイダ ID。これは、ログイン用に有効になっているプロバイダ ID である必要があります。これは、デフォルトでサポートされている IdP のリストから選択するか、oidc.* または saml.* の形式で指定します。たとえば、google.comfacebook.comoidc.testappsaml.testapp などです。identifier フィールドと providerId フィールドの少なくとも 1 つを設定する必要があります。

oauthConsumerKey
(deprecated)

string

oauthScope

string

IdP との認証リクエストのスコープを指定する、スペース区切りの追加の OAuth 2.0 スコープ。OAuth 2.0 IdP に使用。

Google プロバイダの場合、このフィールドが設定されていると、認証コードフローを使用します。

context

string

認証リクエストと IdP からのコールバック間のコンテキスト情報を維持するために使用される不透明な文字列。

otaApp
(deprecated)

string

appId
(deprecated)

string

hostedDomain

string

Google プロバイダに使用されます。ユーザーの G Suite ホストドメイン(そのドメインのユーザーにログインを制限するため)。

sessionId

string

accounts.signInWithIdp で確認できるセッション ID。セッション固定攻撃を防ぐことができます。指定しない場合、ランダムな文字列が生成され、セッション ID として返されます。

authFlowType

string

Google プロバイダに使用されます。使用する認証フローのタイプ。存在する場合は、認証コードフローを指定するために CODE_FLOW にする必要があります。それ以外の場合は、デフォルトの ID トークン フローが使用されます。

customParameter

map (key: string, value: string)

認可 URI に追加する追加のカスタマイズされたクエリ パラメータ。次のパラメータは予約済みであり、追加できません。clientIdresponseTypescoperedirectUristate

Microsoft プロバイダの場合、ログインする Azure AD テナントは tenant カスタム パラメータで指定できます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

tenantId

string

承認 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
(deprecated)

string

authUri

string

リクエストされたプロバイダの認可 URI。リクエストでプロバイダ ID が設定されている場合にのみ存在します。

allProviders[]
(deprecated)

string

registered

boolean

メール ID が既存のアカウントを表すかどうか。リクエストでメール ID が設定されている場合にのみ存在します。

providerId

string

リクエストのプロバイダ ID(指定されている場合)。

forExistingProvider

boolean

ユーザーがリクエストのプロバイダ ID で以前にログインしたことがあるかどうか。登録済みのメール識別子がリクエストで設定されている場合にのみ存在します。

captchaRequired

boolean

ユーザーによるログイン試行が過度に多いために CAPTCHA が必要かどうか。登録済みのメール識別子がリクエストで設定されている場合にのみ存在します。

sessionId

string

リクエストのセッション ID、または存在しない場合は accounts.createAuthUri によって生成されたランダムな文字列。セッション修正攻撃を防ぐために使用されます。

signinMethods[]

string

ユーザーが以前に使用したログイン方法のリスト。各要素は、passwordemailLink、または IdP のプロバイダ ID のいずれかです。リクエストで登録済みのメール ID が設定されている場合にのみ存在します。メール列挙保護が有効になっている場合、このメソッドは空のリストを返します。

認可スコープ

以下のいずれかの OAuth スコープが必要です。

  • https://www.googleapis.com/auth/identitytoolkit
  • https://www.googleapis.com/auth/cloud-platform

詳細については、Authentication Overview をご覧ください。