REST API の使用
このドキュメントでは、Identity Platform REST API を使用したユーザー ログインやトークンの操作など、一般的なユーザー オペレーションの実施方法について説明します。
始める前に
REST API を使用するには、Identity Platform API キーが必要になります。キーを取得するには、次のようにします。
コンソールの [ID プロバイダ] ページに移動します。 Google Cloud
[ID プロバイダ] ページに移動[アプリケーション設定の詳細] をクリックします。
apiKeyフィールドをコピーします。
すべての API 呼び出しで HTTPS を使用する必要があるので注意してください。
API の呼び出し
カスタム トークンを ID および更新トークンと交換
HTTP POST リクエストを signInWithCustomToken エンドポイントに発行することで、カスタム Auth トークンを、ID および更新トークンと交換できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| token | 文字列 | ID と更新トークンの組の作成元の Identity Platform カスタム トークン。 | 
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。常に true を指定します。 | 
| tenantId | 文字列 | ユーザーがログインしているテナント ID。マルチテナンシーでのみ使用されます。 トークンの tenant_id と一致している必要があります。  | 
      
| プロパティ | 名前 | 説明 | 
|---|---|---|
| alg | アルゴリズム | RS256 にします。 | 
      
| iss | 発行元 | プロジェクトのサービス アカウントのメールアドレス。 | 
| sub | 件名 | プロジェクトのサービス アカウントのメールアドレス。 | 
| AUD | 対象 | https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit | 
      
| iat | 発行時 | 現在の時間(UNIX エポック時刻からの秒数)。 | 
| exp | 有効期限 | トークンの有効期限が切れる時間(UNIX エポック時刻からの秒数)。iat から最大 3,600 秒後の時間を設定できます。注: これは、カスタム トークン自体の有効期限が切れる時間のみを制御できます。ただし、 signInWithCustomToken() を使用してユーザーをログインさせると、セッションが無効になるかユーザーがログアウトするまで、デバイスにログインしたままになります。 | 
      
| uid | ユーザーID | ユーザーの一意の識別子(1~36 文字)。 | 
| tenant_id | テナント ID | ユーザーがログインしているテナントの ID。 | 
| claims(省略可) | セキュリティ ルールの auth または request.auth 変数に含めるオプションのカスタム クレーム。 | 
      
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | 指定されたカスタム トークンから生成された Identity Platform の ID トークン。 | 
| refreshToken | 文字列 | 指定されたカスタム トークンから生成された Identity Platform の更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、カスタム トークンに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
レスポンスの例
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
よく発生するエラーコード
- INVALID_CUSTOM_TOKEN: カスタム トークンの形式が間違っているか、ほかの理由(期限切れ、無効な署名など)によりトークンが無効です。
 - CREDENTIAL_MISMATCH: カスタム トークンは、別のプロジェクトに対応しています。 Google Cloud
 
更新トークンを ID トークンと交換
      HTTP POST リクエストを securetoken.googleapis.com エンドポイントに発行することで、Identity Platform ID トークンを更新できます。
    
メソッド: POST
Content-Type: application/x-www-form-urlencoded
エンドポイントhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| grant_type | 文字列 | 更新トークンの付与タイプ。常に「refresh_token」です。 | 
| refresh_token | 文字列 | Identity Platform の更新トークン。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| expires_in | 文字列 | ID トークンの有効期間(秒)。 | 
| token_type | 文字列 | 更新トークンのタイプ。常に「Bearer」です。 | 
| refresh_token | 文字列 | リクエストで提供された Identity Platform の更新トークン、または新しい更新トークン。 | 
| id_token | 文字列 | Identity Platform の ID トークン。 | 
| user_id | 文字列 | 提供された ID トークンに対応する uid。 | 
| project_id | 文字列 | 実際の Google Cloud プロジェクト ID。 | 
リクエストの例
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、Identity Platform の新しい ID トークンと更新トークンが含まれます。
レスポンスの例
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
よく発生するエラーコード
- TOKEN_EXPIRED: ユーザーの認証情報が無効になりました。ユーザーは再ログインする必要があります。
 - USER_DISABLED: ユーザー アカウントが管理者によって無効にされています。
 - USER_NOT_FOUND: 更新トークンに対応するユーザーが見つかりませんでした。ユーザーが削除された可能性があります。
 - API キーが無効です。有効な API キーを渡してください。(無効な API キーが指定されています)
 - INVALID_REFRESH_TOKEN: 無効な更新トークンが指定されています。
 - 無効な JSON ペイロードを受信しました。名前が不明です \"refresh_tokens\": クエリ パラメータをバインドできません。リクエスト メッセージ内にフィールド「refresh_tokens」が見つかりませんでした。
 - INVALID_GRANT_TYPE: 指定された付与タイプが無効です。
 - MISSING_REFRESH_TOKEN: 更新トークンが指定されていません。
 - PROJECT_NUMBER_MISMATCH: 更新トークンのプロジェクト番号が、指定された API キーのプロジェクト番号と一致しません。
 
メールアドレスとパスワードの登録
HTTP POST リクエストを Auth signupNewUser エンドポイントに発行することで、新しいメールとパスワードのユーザーを作成できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| メール | 文字列 | 作成するユーザーのメールアドレス。 | 
| パスワード | 文字列 | 作成するユーザーのパスワード。 | 
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。常に true を指定します。 | 
| tenantId | 文字列 | 作成するユーザーのテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | 新しく作成されたユーザーの Identity Platform ID トークン。 | 
| メール | 文字列 | 新しく作成されたユーザーのメールアドレス。 | 
| refreshToken | 文字列 | 新しく作成されたユーザーの Identity Platform 更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
| localId | 文字列 | 新しく作成されたユーザーの uid。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、新しいアカウントに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
レスポンスの例
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
よく発生するエラーコード
- EMAIL_EXISTS: このメールアドレスはすでに別のアカウントで使用されています。
 - OPERATION_NOT_ALLOWED: このプロジェクトでは、パスワードによるログインが無効になっています。
 - TOO_MANY_ATTEMPTS_TRY_LATER: 異常なアクティビティが行われたため、このデバイスからのリクエストはすべてブロックされています。しばらくしてからもう一度実行してください。
 
メールアドレスとパスワードによるログイン
HTTP POST リクエストを Auth verifyPassword エンドポイントに発行することで、メールアドレスとパスワードによるユーザーのログインが可能になります。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| メール | 文字列 | ユーザーがログインに使用するメールアドレス。 | 
| パスワード | 文字列 | アカウントのパスワード。 | 
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。常に true を指定します。 | 
| tenantId | 文字列 | ユーザーがログインしているテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | 認証済みユーザーの Identity Platform ID トークン。 | 
| メール | 文字列 | 認証されたユーザーのメールアドレス。 | 
| refreshToken | 文字列 | 認証されたユーザーの Identity Platform 更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
| localId | 文字列 | 認証されたユーザーの uid。 | 
| 登録済み | ブール値 | メールアドレスが既存アカウントのものかどうか。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、既存のメール / パスワードのアカウントに関連付けられた Identity Platform の ID トークンと更新トークンが含まれます。
レスポンスの例
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
よく発生するエラーコード
- EMAIL_NOT_FOUND: この ID に対応するユーザー レコードはありません。このユーザーは削除された可能性があります。
 - INVALID_PASSWORD: パスワードが無効か、ユーザーのパスワードが設定されていません。
 - USER_DISABLED: ユーザー アカウントが管理者によって無効にされています。
 
匿名でのログイン
HTTP POST リクエストを Auth signupNewUser エンドポイントに発行することで、ユーザーを匿名でログインさせることができます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。常に true を指定します。 | 
| tenantId | 文字列 | ユーザーがログインしているテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | 新しく作成されたユーザーの Identity Platform ID トークン。 | 
| メール | 文字列 | ユーザーが匿名のため、空にする必要があります。 | 
| refreshToken | 文字列 | 新しく作成されたユーザーの Identity Platform 更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
| localId | 文字列 | 新しく作成されたユーザーの uid。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、匿名ユーザーに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
レスポンスの例
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
よく発生するエラーコード
- OPERATION_NOT_ALLOWED: このプロジェクトでは匿名ユーザーによるログインが無効になっています。
 
OAuth 認証情報によるログイン
HTTP POST リクエストを Auth verifyAssertion エンドポイントに発行することで、OAuth 認証情報でユーザーをログインさせることができます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| requestUri | 文字列 | IDP がユーザーをリダイレクトする URI。 | 
| postBody | 文字列 | 認証情報を発行する OAuth 認証情報(ID トークンまたはアクセス トークン)とプロバイダ ID が含まれます。 | 
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。常に true を指定します。 | 
| returnIdpCredential | ブール値 | FEDERATED_USER_ID_ALREADY_LINKED と EMAIL_EXISTS エラーで OAuth 認証情報を強制的に返すかどうか。 | 
| tenantId | 文字列 | ユーザーがログインしているテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| federatedId | 文字列 | 一意の ID により IdP アカウントが識別されます。 | 
| providerId | 文字列 | リンクされたプロバイダ ID(Google プロバイダの「google.com」など)。 | 
| localId | 文字列 | 認証されたユーザーの uid。 | 
| emailVerified | ブール値 | ログイン メールアドレスが確認済みかどうか。 | 
| メール | 文字列 | アカウントのメールアドレス。 | 
| oauthIdToken | 文字列 | OIDC ID トークン(使用可能な場合)。 | 
| oauthAccessToken | 文字列 | OAuth アクセス トークン(使用可能な場合)。 | 
| oauthTokenSecret | 文字列 | OAuth 1.0 トークン シークレット(使用可能な場合)。 | 
| rawUserInfo | 文字列 | 指定された OAuth 認証情報に対応するすべての IdP データを含む、文字列化された JSON レスポンス。 | 
| firstName | 文字列 | アカウントの名。 | 
| lastName | 文字列 | アカウントの姓。 | 
| fullName | 文字列 | アカウントの氏名。 | 
| displayName | 文字列 | アカウントの表示名。 | 
| photoUrl | 文字列 | アカウントの写真の URL。 | 
| idToken | 文字列 | 認証済みユーザーの Identity Platform ID トークン。 | 
| refreshToken | 文字列 | 認証されたユーザーの Identity Platform 更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
| needConfirmation | ブール値 | 同じ認証情報を持つ別のアカウントがすでに存在するかどうか。ユーザーは、元のアカウントにログインして、現在の認証情報をリンクする必要があります。 | 
OAuth ID トークンを含むリクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、認証されたユーザーに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
OAuth ID トークンを含むレスポンスの例
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
OAuth アクセス トークンを含むリクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、認証されたユーザーに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
OAuth アクセス トークンを含むレスポンスの例
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Twitter OAuth 1.0 認証情報によるリクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、認証されたユーザーに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
Twitter OAuth 1.0 認証情報を含むレスポンスの例
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
よく発生するエラーコード
- OPERATION_NOT_ALLOWED: このプロジェクトに対応するプロバイダが無効にされています。
 - INVALID_IDP_RESPONSE: 指定された認証情報の形式が正しくないか、期限が切れています。
 
メール プロバイダの取得
HTTP POST リクエストを Auth createAuthUri エンドポイントに発行することで、指定されたメールに関連付けられているすべてのプロバイダを検索できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| identifier | 文字列 | ユーザーのメールアドレス | 
| continueUri | 文字列 | IDP がユーザーをリダイレクトする URI。このユースケースでは、単に現在の URL になります。 | 
| tenantId | 文字列 | ユーザーがログインしているテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| allProviders | 文字列のリスト | ユーザーが以前にログインしていたプロバイダのリスト。 | 
| 登録済み | ブール値 | メールアドレスが既存アカウントのものかどうか。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、メールに関連付けられているプロバイダのリストが含まれます。
レスポンスの例
{ "allProviders": [ "password", "google.com" ], "registered": true }
よく発生するエラーコード
- INVALID_EMAIL: メールアドレスの形式が正しくありません。
 
パスワードの再設定メールの送信
HTTP POST リクエストを Auth getOobConfirmationCode エンドポイントに発行することで、パスワードの再設定メールを送信できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
| プロパティ名 | 説明 | 
|---|---|
| X-Firebase-Locale | ユーザーの言語 / 地域に対応する言語コード。これを渡すと、ユーザーに送信されるパスワード再設定用のメールがローカライズされます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| requestType | 文字列 | 返される OOB コードの種類。パスワードを再設定するには「PASSWORD_RESET」にする必要があります。 | 
| メール | 文字列 | ユーザーのメールアドレス。 | 
| tenantId | 文字列 | パスワードの再設定をリクエストしたユーザーのテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| メール | 文字列 | ユーザーのメールアドレス。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。
    
レスポンスの例
{ "email": "[user@example.com]" }
よく発生するエラーコード
- EMAIL_NOT_FOUND: この ID に対応するユーザー レコードはありません。このユーザーは削除された可能性があります。
 
パスワードの再設定コードの確認
HTTP POST リクエストを Auth resetPassword エンドポイントに発行することで、パスワードの再設定コードを確認できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| oobCode | 文字列 | パスワードを再設定するためにユーザーのメールに送信されるメール アクション コード。 | 
| tenantId | 文字列 | パスワードの再設定をリクエストしたユーザーのテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| メール | 文字列 | ユーザーのメールアドレス。 | 
| requestType | 文字列 | メール アクション コードの種類。「PASSWORD_RESET」になります。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。
    
レスポンスの例
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
よく発生するエラーコード
- OPERATION_NOT_ALLOWED: このプロジェクトでは、パスワードによるログインが無効になっています。
 - EXPIRED_OOB_CODE: アクション コードが期限切れです。
 - INVALID_OOB_CODE: アクション コードが無効です。これは、コードが不正な形式、有効期限切れ、またはすでに使用されている場合に発生します
 
パスワードの再設定の確認
HTTP POST リクエストを Auth resetPassword エンドポイントに発行することで、パスワードの再設定の変更を行えます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| oobCode | 文字列 | パスワードを再設定するためにユーザーのメールに送信されるメール アクション コード。 | 
| newPassword | 文字列 | ユーザーの新しいパスワード。 | 
| tenantId | 文字列 | パスワードの再設定をリクエストしたユーザーのテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| メール | 文字列 | ユーザーのメールアドレス。 | 
| requestType | 文字列 | メール アクション コードの種類。「PASSWORD_RESET」になります。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。
    
レスポンスの例
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
よく発生するエラーコード
- OPERATION_NOT_ALLOWED: このプロジェクトでは、パスワードによるログインが無効になっています。
 - EXPIRED_OOB_CODE: アクション コードが期限切れです。
 - INVALID_OOB_CODE: アクション コードが無効です。これは、コードが不正な形式、有効期限切れ、またはすでに使用されている場合に発生します
 - USER_DISABLED: ユーザー アカウントが管理者によって無効にされています。
 
メールアドレスの変更
HTTP POST リクエストを Auth setAccountInfo エンドポイントに発行することで、ユーザーのメールアドレスを変更できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| プロパティ名 | 説明 | 
|---|---|
| X-Firebase-Locale | ユーザーの言語 / 地域に対応する言語コード。これを渡すと、ユーザーに送信されるメールの変更取り消しがローカライズされます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | ユーザーの Identity Platform ID トークン。 | 
| メール | 文字列 | ユーザーの新しいメールアドレス。 | 
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| localId | 文字列 | 現在のユーザーの uid。 | 
| メール | 文字列 | ユーザーのメールアドレス。 | 
| passwordHash | 文字列 | パスワードのハッシュ バージョン。 | 
| providerUserInfo | JSON オブジェクトのリスト | 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。 | 
| idToken | 文字列 | ユーザーの新しい Identity Platform ID トークン。 | 
| refreshToken | 文字列 | Identity Platform の更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[GCIP_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、ユーザーに関連付けられた新しい Identity Platform ID トークンと更新トークンが含まれます。
レスポンスの例
{ "localId": "tRcfmLH7o2...", "email": "[user@example2.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example2.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
よく発生するエラーコード
- EMAIL_EXISTS: このメールアドレスはすでに別のアカウントで使用されています。
 - INVALID_ID_TOKEN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
 
パスワードを変更
HTTP POST リクエストを Auth setAccountInfo エンドポイントに発行することで、ユーザーのパスワードを変更できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | ユーザーの Identity Platform ID トークン。 | 
| パスワード | 文字列 | ユーザーの新しいパスワード。 | 
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| localId | 文字列 | 現在のユーザーの uid。 | 
| メール | 文字列 | ユーザーのメールアドレス。 | 
| passwordHash | 文字列 | パスワードのハッシュ バージョン。 | 
| providerUserInfo | JSON オブジェクトのリスト | 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。 | 
| idToken | 文字列 | ユーザーの新しい Identity Platform ID トークン。 | 
| refreshToken | 文字列 | Identity Platform の更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[GCIP_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、ユーザーに関連付けられた新しい Identity Platform ID トークンと更新トークンが含まれます。
レスポンスの例
{ "localId": "tRcfmLH7o2...", "email": "[user@example.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
よく発生するエラーコード
- INVALID_ID_TOKEN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
 - WEAK_PASSWORD: パスワードは 6 文字以上にする必要があります。
 
プロフィールの更新
HTTP POST リクエストを Auth setAccountInfo エンドポイントに発行することで、ユーザーのプロフィール(表示名 / 写真の URL)を更新できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | ユーザーの Identity Platform ID トークン。 | 
| displayName | 文字列 | ユーザーの新しい表示名。 | 
| photoUrl | 文字列 | ユーザーの新しい写真 URL。 | 
| deleteAttribute | 文字列のリスト | 削除する属性のリスト、「DISPLAY_NAME」または「PHOTO_URL」。これらの値は null になります。 | 
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| localId | 文字列 | 現在のユーザーの uid。 | 
| メール | 文字列 | ユーザーのメールアドレス。 | 
| displayName | 文字列 | ユーザーの新しい表示名。 | 
| photoUrl | 文字列 | ユーザーの新しい写真 URL。 | 
| passwordHash | 文字列 | パスワードのハッシュ バージョン。 | 
| providerUserInfo | JSON オブジェクトのリスト | 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。 | 
| idToken | 文字列 | ユーザーの新しい Identity Platform ID トークン。 | 
| refreshToken | 文字列 | Identity Platform の更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。
    
レスポンスの例
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
よく発生するエラーコード
- INVALID_ID_TOKEN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
 
ユーザーデータの取得
HTTP POST リクエストを Auth getAccountInfo エンドポイントに発行することで、ユーザーのデータを取得できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | アカウントの Identity Platform ID トークン。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| ユーザー | JSON オブジェクトのリスト | 特定の Identity Platform ID トークンに関連付けられたアカウント。詳しくは以下をご覧ください。 | 
users 配列コンテンツ)| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| localId | 文字列 | 現在のユーザーの uid。 | 
| メール | 文字列 | アカウントのメールアドレス。 | 
| emailVerified | ブール値 | アカウントのメールアドレスが確認済みかどうか。 | 
| displayName | 文字列 | アカウントの表示名。 | 
| providerUserInfo | JSON オブジェクトのリスト | 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。 | 
| photoUrl | 文字列 | アカウントの写真の URL。 | 
| passwordHash | 文字列 | パスワードのハッシュ バージョン。 | 
| passwordUpdatedAt | double | アカウントのパスワードが最後に変更されたタイムスタンプ(ミリ秒単位)。 | 
| validSince | 文字列 | 境界を示すタイムスタンプ(秒単位)。この期間をすぎると、Identity Platform ID トークンは取り消されたと見なされます。 | 
| 無効 | ブール値 | アカウントが無効かどうか。 | 
| lastLoginAt | 文字列 | アカウントが最後にログインされたタイムスタンプ(ミリ秒単位)。 | 
| createdAt | 文字列 | アカウントが作成されたタイムスタンプ(ミリ秒単位)。 | 
| customAuth | ブール値 | アカウントが開発者によって認証されているかどうか。 | 
| tenantId | 文字列 | ユーザーのテナント ID。マルチテナンシーでのみ返されます。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、アカウントに関連付けられているすべてのユーザー情報が含まれます。
レスポンスの例
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
よく発生するエラーコード
- INVALID_ID_TOKEN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
 - USER_NOT_FOUND: この ID に対応するユーザー レコードはありません。このユーザーは削除された可能性があります。
 
メール / パスワードによるリンク
HTTP POST リクエストを Auth setAccountInfo エンドポイントに発行することで、メールとパスワードを現在のユーザーにリンクできます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | 認証情報をリンクするアカウントの Identity Platform ID トークン。 | 
| メール | 文字列 | アカウントへのリンクに対するメールアドレス。 | 
| パスワード | 文字列 | アカウントの新しいパスワード。 | 
| returnSecureToken | 文字列 | ID と更新トークンを返すかどうか。常に true を指定します。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| localId | 文字列 | 現在のユーザーの uid。 | 
| メール | 文字列 | アカウントのメールアドレス。 | 
| displayName | 文字列 | アカウントの表示名。 | 
| photoUrl | 文字列 | アカウントの写真の URL。 | 
| passwordHash | 文字列 | パスワードのハッシュ バージョン。 | 
| providerUserInfo | JSON オブジェクトのリスト | 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。 | 
| emailVerified | ブール値 | アカウントのメールアドレスが確認済みかどうか。 | 
| idToken | 文字列 | ユーザーの新しい Identity Platform ID トークン。 | 
| refreshToken | 文字列 | Identity Platform の更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、認証されたユーザーに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
レスポンスの例
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
よく発生するエラーコード
- CREDENTIAL_TOO_OLD_LOGIN_AGAIN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
 - TOKEN_EXPIRED: ユーザーの認証情報が無効になりました。ユーザーは再ログインする必要があります。
 - INVALID_ID_TOKEN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
 - WEAK_PASSWORD: パスワードは 6 文字以上にする必要があります。
 
OAuth 認証情報によるリンク
HTTP POST リクエストを Auth verifyAssertion エンドポイントに発行することで、OAuth 認証情報をユーザーにリンクできます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | 認証情報をリンクするアカウントの Identity Platform ID トークン。 | 
| requestUri | 文字列 | IDP がユーザーをリダイレクトする URI。 | 
| postBody | 文字列 | 認証情報を発行する OAuth 認証情報(ID トークンまたはアクセス トークン)とプロバイダ ID が含まれます。 | 
| returnSecureToken | ブール値 | ID と更新トークンを返すかどうか。常に true を指定します。 | 
| returnIdpCredential | ブール値 | FEDERATED_USER_ID_ALREADY_LINKED と EMAIL_EXISTS エラーで OAuth 認証情報を強制的に返すかどうか。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| federatedId | 文字列 | 一意の ID により IdP アカウントが識別されます。 | 
| providerId | 文字列 | リンクされたプロバイダ ID(Google プロバイダの「google.com」など)。 | 
| localId | 文字列 | 認証されたユーザーの uid。 | 
| emailVerified | ブール値 | ログイン メールアドレスが確認済みかどうか。 | 
| メール | 文字列 | アカウントのメールアドレス。 | 
| oauthIdToken | 文字列 | OIDC ID トークン(使用可能な場合)。 | 
| oauthAccessToken | 文字列 | OAuth アクセス トークン(使用可能な場合)。 | 
| oauthTokenSecret | 文字列 | OAuth 1.0 トークン シークレット(使用可能な場合)。 | 
| rawUserInfo | 文字列 | 指定された OAuth 認証情報に対応するすべての IdP データを含む、文字列化された JSON レスポンス。 | 
| firstName | 文字列 | アカウントの名。 | 
| lastName | 文字列 | アカウントの姓。 | 
| fullName | 文字列 | アカウントの氏名。 | 
| displayName | 文字列 | アカウントの表示名。 | 
| photoUrl | 文字列 | アカウントの写真の URL。 | 
| idToken | 文字列 | 認証済みユーザーの Identity Platform ID トークン。 | 
| refreshToken | 文字列 | 認証されたユーザーの Identity Platform 更新トークン。 | 
| expiresIn | 文字列 | ID トークンの有効期間(秒)。 | 
OAuth ID トークンを含むリクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[GCIP_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、認証されたユーザーに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
OAuth ID トークンを含むレスポンスの例
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
OAuth アクセス トークンを含むリクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[GCIP_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、認証されたユーザーに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
OAuth アクセス トークンを含むレスポンスの例
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Twitter OAuth 1.0 認証情報によるリクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[GCIP_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、認証されたユーザーに関連付けられた Identity Platform ID トークンと更新トークンが含まれます。
Twitter OAuth 1.0 認証情報を含むレスポンスの例
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
よく発生するエラーコード
- OPERATION_NOT_ALLOWED: このプロジェクトに対応するプロバイダが無効にされています。
 - INVALID_IDP_RESPONSE: 指定された認証情報の形式が正しくないか、期限が切れています。
 - INVALID_ID_TOKEN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
 - EMAIL_EXISTS: このメールアドレスはすでに別のアカウントで使用されています。
 - FEDERATED_USER_ID_ALREADY_LINKED: この認証情報は、すでに別のユーザー アカウントに関連付けられています。
 
プロバイダのリンク解除
HTTP POST リクエストを Auth setAccountInfo エンドポイントに発行することで、現在のユーザーからプロバイダのリンクを解除できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | アカウントの Identity Platform ID トークン。 | 
| deleteProvider | 文字列のリスト | リンクを解除するプロバイダ ID のリスト(「google.com」、「password」など)。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| localId | 文字列 | 現在のユーザーの uid。 | 
| メール | 文字列 | アカウントのメールアドレス。 | 
| displayName | 文字列 | アカウントの表示名。 | 
| photoUrl | 文字列 | アカウントの写真の URL。 | 
| passwordHash | 文字列 | パスワードのハッシュ バージョン。 | 
| providerUserInfo | JSON オブジェクトのリスト | 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。 | 
| emailVerified | ブール値 | アカウントのメールアドレスが確認済みかどうか。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[GCIP_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。
    
レスポンスの例
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
よく発生するエラーコード
- INVALID_ID_TOKEN: ユーザーの認証情報が無効になりました。ユーザーは再ログインする必要があります。
 
メール確認の送信
HTTP POST リクエストを Auth getOobConfirmationCode エンドポイントに発行することで、現在のユーザーのメール確認を送信できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
| プロパティ名 | 説明 | 
|---|---|
| X-Firebase-Locale | ユーザーの言語 / 地域に対応する言語コード。これを渡すと、ユーザーに送信されるメール確認がローカライズされます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| requestType | 文字列 | 送信する確認コードのタイプ。常に「VERIFY_EMAIL」を指定します。 | 
| idToken | 文字列 | 確認するユーザーの Identity Platform ID トークン。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| メール | 文字列 | アカウントのメールアドレス。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[GCIP_ID_TOKEN]"}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。
    
レスポンスの例
{ "email": "user@example.com" }
よく発生するエラーコード
- INVALID_ID_TOKEN: ユーザーの認証情報が無効になりました。ユーザーは再ログインする必要があります。
 - USER_NOT_FOUND: この ID に対応するユーザー レコードはありません。このユーザーは削除された可能性があります。
 
メール確認の確認
HTTP POSTリクエストを Auth setAccountInfo エンドポイントに発行することで、メール確認コードを確認できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| oobCode | 文字列 | ユーザーのメールアドレスを確認するために送信されるアクション コード。 | 
| tenantId | 文字列 | メールアドレスを確認するユーザーのテナント ID。マルチテナンシーでのみ使用されます。 | 
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| メール | 文字列 | アカウントのメールアドレス。 | 
| displayName | 文字列 | アカウントの表示名。 | 
| photoUrl | 文字列 | アカウントの写真の URL。 | 
| passwordHash | 文字列 | パスワード ハッシュ。 | 
| providerUserInfo | JSON オブジェクトのリスト | 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。 | 
| emailVerified | ブール値 | アカウントのメールアドレスが確認済みかどうか。 | 
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。
    
レスポンスの例
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
よく発生するエラーコード
- EXPIRED_OOB_CODE: アクション コードが期限切れです。
 - INVALID_OOB_CODE: アクション コードが無効です。これは、コードが不正な形式、有効期限切れ、またはすでに使用されている場合に発生します
 - USER_DISABLED: ユーザー アカウントが管理者によって無効にされています。
 - EMAIL_NOT_FOUND: この ID に対応するユーザー レコードはありません。このユーザーは削除された可能性があります。
 
アカウントを削除
HTTP POST リクエストを Auth deleteAccount エンドポイントに発行することで、現在のユーザーを削除できます。
メソッド: POST
Content-Type: application/json
エンドポイントhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
| プロパティ名 | タイプ | 説明 | 
|---|---|---|
| idToken | 文字列 | 削除するユーザーの Identity Platform ID トークン。 | 
| プロパティ名 | タイプ | 説明 | 
|---|
リクエストの例
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'
      リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。
    
よく発生するエラーコード
- INVALID_ID_TOKEN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
 - USER_NOT_FOUND: この ID に対応するユーザー レコードはありません。このユーザーは削除された可能性があります。
 
エラー処理
以下は、Identity Platform から返される一般的なエラーの例です。
{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalid",
        "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
      }
    ],
    "code": 400,
    "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
  }
}
エラーコードは、message フィールドから取得します。