Firebase 認証 REST API

APIの使用法

REST API を通じて Firebase Auth バックエンドにクエリを実行できます。これは、新しいユーザーの作成、既存のユーザーのサインイン、これらのユーザーの編集または削除など、さまざまな操作に使用できます。

このドキュメント全体を通じて、 API_KEY Web API キーを指します。Web API キーは、管理コンソールのプロジェクト設定ページで取得できます。

カスタムトークンをIDとリフレッシュトークンに交換します

Auth verifyCustomTokenエンドポイントに HTTP POSTリクエストを発行することで、カスタム認証トークンを ID およびリフレッシュ トークンと交換できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
リクエスト本文のペイロード
プロパティ名タイプ説明
トークンID とリフレッシュ トークンのペアの作成元となる Firebase Auth カスタム トークン。
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。常に true である必要があります。
応答ペイロード
プロパティ名タイプ説明
idトークン提供されたカスタム トークンから生成された Firebase Auth ID トークン。
リフレッシュトークン提供されたカスタム トークンから生成された Firebase 認証リフレッシュ トークン。
期限切れ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 ステータス コードで示されます。応答には、カスタム トークンに関連付けられた Firebase ID トークンとリフレッシュ トークンが含まれます。

応答例

{
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

一般的なエラーコード

  • INVALID_CUSTOM_TOKEN: カスタム トークンの形式が間違っているか、トークンが何らかの理由で無効です (期限切れ、無効な署名など)。
  • CREDENTIAL_MISMATCH: カスタム トークンは別の Firebase プロジェクトに対応しています。

リフレッシュトークンをIDトークンに交換する

Firebase ID トークンを更新するには、 securetoken.googleapis.comエンドポイントに HTTP POSTリクエストを発行します。

メソッド: POST

コンテンツタイプ: application/x-www-form-urlencoded

エンドポイント
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
リクエスト本文のペイロード
プロパティ名タイプ説明
許可の種類リフレッシュ トークンの付与タイプは常に「refresh_token」です。
リフレッシュトークンFirebase 認証リフレッシュ トークン。
応答ペイロード
プロパティ名タイプ説明
期限切れ_inID トークンの有効期限が切れる秒数。
トークンの種類リフレッシュ トークンのタイプ。常に「Bearer」です。
リフレッシュトークンリクエストで提供された Firebase 認証リフレッシュ トークン、または新しいリフレッシュ トークン。
id_トークンFirebase 認証 ID トークン。
ユーザーID提供された ID トークンに対応する uid。
プロジェクトIDFirebase プロジェクト 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 ステータス コードで示されます。応答には、新しい Firebase 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: リフレッシュ トークンが提供されていません。

メールアドレス/パスワードでサインアップ

signupNewUserエンドポイントに HTTP POSTリクエストを発行することで、新しい電子メールとパスワードのユーザーを作成できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
リクエスト本文のペイロード
プロパティ名タイプ説明
Eメールユーザーが作成する電子メール。
パスワードユーザーが作成するパスワード。
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。常に true である必要があります。
応答ペイロード
プロパティ名タイプ説明
idトークン新しく作成されたユーザーの Firebase Auth ID トークン。
Eメール新しく作成されたユーザーの電子メール。
リフレッシュトークン新しく作成されたユーザーの Firebase 認証リフレッシュ トークン。
期限切れID トークンの有効期限が切れる秒数。
ローカルID新しく作成されたユーザーの 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 ステータス コードで示されます。応答には、新しいアカウントに関連付けられた Firebase 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: 異常なアクティビティのため、このデバイスからのすべてのリクエストをブロックしました。あとでもう一度試してみてください。

メールアドレス/パスワードでサインイン

Auth verifyPasswordエンドポイントに HTTP POSTリクエストを発行することで、電子メールとパスワードを使用してユーザーをサインインできます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
Eメールユーザーがサインインに使用している電子メール。
パスワードアカウントのパスワード。
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。常に true である必要があります。
応答ペイロード
プロパティ名タイプ説明
idトークン認証されたユーザーの Firebase Auth ID トークン。
Eメール認証されたユーザーの電子メール。
リフレッシュトークン認証されたユーザーの Firebase 認証リフレッシュ トークン。
期限切れID トークンの有効期限が切れる秒数。
ローカルID認証されたユーザーの 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 ステータス コードで示されます。応答には、既存のメール/パスワード アカウントに関連付けられた Firebase ID トークンと更新トークンが含まれます。

応答例

{
  "localId": "ZY1rJK0eYLg...",
  "email": "[user@example.com]",
  "displayName": "",
  "idToken": "[ID_TOKEN]",
  "registered": true,
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

一般的なエラーコード

  • EMAIL_NOT_FOUND: この識別子に対応するユーザー レコードはありません。ユーザーが削除された可能性があります。
  • INVALID_PASSWORD: パスワードが無効であるか、ユーザーがパスワードを持っていません。
  • USER_DISABLED: ユーザー アカウントは管理者によって無効にされています。

匿名でサインインする

signupNewUserエンドポイントに HTTP POSTリクエストを発行することで、ユーザーを匿名でサインインできます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。常に true である必要があります。
応答ペイロード
プロパティ名タイプ説明
idトークン新しく作成されたユーザーの Firebase Auth ID トークン。
Eメールユーザーは匿名であるため、これは空にする必要があります。
リフレッシュトークン新しく作成されたユーザーの Firebase 認証リフレッシュ トークン。
期限切れID トークンの有効期限が切れる秒数。
ローカルID新しく作成されたユーザーの uid。

サンプルリクエスト

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。応答には、匿名ユーザーに関連付けられた Firebase ID トークンと更新トークンが含まれます。

応答例

{
  "idToken": "[ID_TOKEN]",
  "email": "",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "Jws4SVjpT..."
}

一般的なエラーコード

  • OPERATION_NOT_ALLOWED: このプロジェクトでは匿名ユーザーのサインインが無効になっています。

OAuth 資格情報を使用してサインインする

Auth verifyAssertionエンドポイントに HTTP POSTリクエストを発行することで、OAuth 資格情報を使用してユーザーをサインインできます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
requestUriIDP がユーザーをリダイレクトして戻す URI。
投稿本文OAuth 資格情報 (ID トークンまたはアクセス トークン) と資格情報を発行するプロバイダー ID が含まれます。
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。常に true である必要があります。
returnIdpCredentialブール値次のエラーに対して OAuth 認証情報の返却を強制するかどうか: FEDERATED_USER_ID_ALREADY_LINKED および EMAIL_EXISTS。
応答ペイロード
プロパティ名タイプ説明
フェデレーション ID一意の ID は IdP アカウントを識別します。
プロバイダーIDリンクされたプロバイダー ID (例: Google プロバイダーの場合は「google.com」)。
ローカルID認証されたユーザーの uid。
メール認証済みブール値サインイン電子メールが検証されたかどうか。
Eメールアカウントのメールアドレス。
oauthIdトークン利用可能な場合は、OIDC ID トークン。
oauthアクセストークンOAuth アクセス トークン (利用可能な場合)。
oauthトークンシークレットOAuth 1.0 トークン シークレット (利用可能な場合)。
rawユーザー情報提供された OAuth 認証情報に対応するすべての IdP データを含む文字列化された JSON 応答。
ファーストネームアカウントの名。
苗字アカウントの姓。
フルネームアカウントのフルネーム。
表示名アカウントの表示名。
写真URLアカウントの写真の URL。
idトークン認証されたユーザーの Firebase Auth ID トークン。
リフレッシュトークン認証されたユーザーの Firebase 認証リフレッシュ トークン。
期限切れ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]","returnIdpCredential":true,"returnSecureToken":true}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。応答には、認証されたユーザーに関連付けられた Firebase 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 ステータス コードで示されます。応答には、認証されたユーザーに関連付けられた Firebase 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 ステータス コードで示されます。応答には、認証されたユーザーに関連付けられた Firebase 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: 指定された認証資格情報の形式が間違っているか、有効期限が切れています。

電子メールのプロバイダーを取得する

Auth createAuthUriエンドポイントに HTTP POSTリクエストを発行することで、指定した電子メールに関連付けられているすべてのプロバイダーを確認できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
識別子ユーザーのメールアドレス
続けるUriIDP がユーザーをリダイレクトして戻す URI。この使用例では、これは単なる現在の URL です。
応答ペイロード
プロパティ名タイプ説明
すべてのプロバイダー文字列のリストユーザーが以前にサインインしたことがあるプロバイダーのリスト。
登録済みブール値メールが既存のアカウントのものかどうか

サンプルリクエスト

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: 電子メール アドレスの形式が正しくありません。

パスワードリセットメールを送信する

Auth getOobConfirmationCodeエンドポイントに HTTP POSTリクエストを発行することで、パスワード リセット電子メールを送信できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
オプションのヘッダー
プロパティ名説明
X-Firebase-ロケールユーザーのロケールに対応する言語コード。これを渡すと、ユーザーに送信されるパスワード リセット電子メールがローカライズされます。
リクエストボディのペイロード
プロパティ名タイプ説明
リクエストの種類返される OOB コードの種類。パスワードをリセットするには「PASSWORD_RESET」にする必要があります。
Eメールユーザーの電子メール アドレス。
応答ペイロード
プロパティ名タイプ説明
Eメールユーザーの電子メール アドレス。

サンプルリクエスト

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: この識別子に対応するユーザー レコードはありません。ユーザーが削除された可能性があります。

パスワードリセットコードを確認してください

パスワード リセット コードを確認するには、HTTP POSTリクエストを Auth resetPasswordエンドポイントに発行します。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
リクエスト本文のペイロード
プロパティ名タイプ説明
oobコードパスワードをリセットするためにユーザーの電子メールに送信される電子メール アクション コード。
応答ペイロード
プロパティ名タイプ説明
Eメールユーザーの電子メール アドレス。
リクエストの種類電子メールアクションコードのタイプ。 「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: アクション コードが無効です。これは、コードの形式が正しくない場合、期限切れである場合、またはすでに使用されている場合に発生する可能性があります。

パスワードリセットの確認

Auth resetPasswordエンドポイントに HTTP POSTリクエストを発行することで、パスワード リセットの変更を適用できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
リクエスト本文のペイロード
プロパティ名タイプ説明
oobコードパスワードをリセットするためにユーザーの電子メールに送信される電子メール アクション コード。
新しいパスワードユーザーの新しいパスワード。
応答ペイロード
プロパティ名タイプ説明
Eメールユーザーの電子メール アドレス。
リクエストの種類電子メールアクションコードのタイプ。 「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

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
のオプションのヘッダー
プロパティ名説明
X-Firebase-ロケールユーザーのロケールに対応する言語コード。これを渡すと、ユーザーに送信される電子メール変更取り消しがローカライズされます。
リクエストボディのペイロード
プロパティ名タイプ説明
idトークンユーザーの Firebase Auth ID トークン。
Eメールユーザーの新しい電子メール。
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。
応答ペイロード
プロパティ名タイプ説明
ローカルID現在のユーザーの uid。
Eメールユーザーの電子メール アドレス。
パスワードハッシュパスワードのハッシュバージョン。
プロバイダーユーザー情報JSONオブジェクトのリスト「providerId」と「federatedId」を含むすべてのリンクされたプロバイダー オブジェクトのリスト。
idトークンユーザーの新しい Firebase Auth ID トークン。
リフレッシュトークンFirebase 認証リフレッシュ トークン。
期限切れID トークンの有効期限が切れる秒数。

サンプルリクエスト

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[FIREBASE_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。応答には、ユーザーに関連付けられた新しい Firebase 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

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
リクエスト本文のペイロード
プロパティ名タイプ説明
idトークンユーザーの Firebase Auth ID トークン。
パスワードユーザーの新しいパスワード。
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。
応答ペイロード
プロパティ名タイプ説明
ローカルID現在のユーザーの uid。
Eメールユーザーの電子メール アドレス。
パスワードハッシュパスワードのハッシュバージョン。
プロバイダーユーザー情報JSONオブジェクトのリスト「providerId」と「federatedId」を含むすべてのリンクされたプロバイダー オブジェクトのリスト。
idトークンユーザーの新しい Firebase Auth ID トークン。
リフレッシュトークンFirebase 認証リフレッシュ トークン。
期限切れID トークンの有効期限が切れる秒数。

サンプルリクエスト

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。応答には、ユーザーに関連付けられた新しい Firebase 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 文字以上である必要があります。

プロフィールを更新する

Auth setAccountInfoエンドポイントに HTTP POSTリクエストを発行することで、ユーザーのプロファイル (表示名/写真 URL) を更新できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
idトークンユーザーの Firebase Auth ID トークン。
表示名ユーザーの新しい表示名。
写真URLユーザーの新しい写真の URL。
属性の削除文字列のリスト削除する属性のリスト、「DISPLAY_NAME」または「PHOTO_URL」。これにより、これらの値は無効になります。
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。
応答ペイロード
プロパティ名タイプ説明
ローカルID現在のユーザーの uid。
Eメールユーザーの電子メール アドレス。
表示名ユーザーの新しい表示名。
写真URLユーザーの新しい写真の URL。
パスワードハッシュパスワードのハッシュバージョン。
プロバイダーユーザー情報JSONオブジェクトのリスト「providerId」と「federatedId」を含むすべてのリンクされたプロバイダー オブジェクトのリスト。
idトークンユーザーの新しい Firebase Auth ID トークン。
リフレッシュトークンFirebase 認証リフレッシュ トークン。
期限切れ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: ユーザーの資格情報はもう有効ではありません。ユーザーは再度サインインする必要があります。

ユーザーデータを取得する

Auth getAccountInfoエンドポイントに HTTP POSTリクエストを発行することで、ユーザーのデータを取得できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
idトークンアカウントの Firebase ID トークン。
応答ペイロード
プロパティ名タイプ説明
ユーザーJSONオブジェクトのリスト指定された Firebase ID トークンに関連付けられたアカウント。詳細については以下をご確認ください。
応答ペイロード ( users配列の内容)
プロパティ名タイプ説明
ローカルID現在のユーザーの uid。
Eメールアカウントのメールアドレス。
メール認証済みブール値アカウントのメールアドレスが認証されているかどうか。
表示名アカウントの表示名。
プロバイダーユーザー情報JSONオブジェクトのリスト「providerId」と「federatedId」を含むすべてのリンクされたプロバイダー オブジェクトのリスト。
写真URLアカウントの写真の URL。
パスワードハッシュパスワードのハッシュバージョン。
パスワード更新日時ダブルアカウントのパスワードが最後に変更されたタイムスタンプ (ミリ秒単位)。
有効以来Firebase ID トークンが取り消されたと見なされるまでの境界を示すタイムスタンプ (秒単位)。
無効ブール値アカウントが無効になっているかどうか。
最終ログイン時アカウントが最後にログインしたときのタイムスタンプ (ミリ秒単位)。
作成日アカウントが作成されたタイムスタンプ (ミリ秒単位)。
カスタム認証ブール値アカウントが開発者によって認証されているかどうか。

サンプルリクエスト

curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_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: この識別子に対応するユーザー レコードはありません。ユーザーが削除された可能性があります。

Auth setAccountInfoエンドポイントに HTTP POSTリクエストを発行することで、電子メール/パスワードを現在のユーザーにリンクできます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
idトークン認証情報をリンクしようとしているアカウントの Firebase ID トークン。
Eメールアカウントにリンクするための電子メール。
パスワードアカウントの新しいパスワード。
セキュアトークンを返すIDとリフレッシュトークンを返すかどうか。常に true である必要があります。
応答ペイロード
プロパティ名タイプ説明
ローカルID現在のユーザーの uid。
Eメールアカウントのメールアドレス。
表示名アカウントの表示名。
写真URLアカウントの写真の URL。
パスワードハッシュパスワードのハッシュバージョン。
プロバイダーユーザー情報JSONオブジェクトのリスト「providerId」と「federatedId」を含むすべてのリンクされたプロバイダー オブジェクトのリスト。
メール認証済みブール値アカウントのメールアドレスが認証されているかどうか。
idトークンユーザーの新しい Firebase Auth ID トークン。
リフレッシュトークンFirebase 認証リフレッシュ トークン。
期限切れ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 ステータス コードで示されます。応答には、認証されたユーザーに関連付けられた Firebase 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 文字以上である必要があります。

Auth verifyAssertionエンドポイントに HTTP POSTリクエストを発行することで、OAuth 資格情報をユーザーにリンクできます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
idトークン認証情報をリンクしようとしているアカウントの Firebase ID トークン。
requestUriIDP がユーザーをリダイレクトして戻す URI。
投稿本文OAuth 資格情報 (ID トークンまたはアクセス トークン) と資格情報を発行するプロバイダー ID が含まれます。
セキュアトークンを返すブール値IDとリフレッシュトークンを返すかどうか。常に true である必要があります。
returnIdpCredentialブール値次のエラーに対して OAuth 認証情報の返却を強制するかどうか: FEDERATED_USER_ID_ALREADY_LINKED および EMAIL_EXISTS。
応答ペイロード
プロパティ名タイプ説明
フェデレーション ID一意の ID は IdP アカウントを識別します。
プロバイダーIDリンクされたプロバイダー ID (例: Google プロバイダーの場合は「google.com」)。
ローカルID認証されたユーザーの uid。
メール認証済みブール値サインイン電子メールが検証されたかどうか。
Eメールアカウントのメールアドレス。
oauthIdトークン利用可能な場合は、OIDC ID トークン。
oauthアクセストークンOAuth アクセス トークン (利用可能な場合)。
oauthトークンシークレットOAuth 1.0 トークン シークレット (利用可能な場合)。
rawユーザー情報提供された OAuth 認証情報に対応するすべての IdP データを含む文字列化された JSON 応答。
ファーストネームアカウントの名。
苗字アカウントの姓。
フルネームアカウントのフルネーム。
表示名アカウントの表示名。
写真URLアカウントの写真の URL。
idトークン認証されたユーザーの Firebase Auth ID トークン。
リフレッシュトークン認証されたユーザーの Firebase 認証リフレッシュ トークン。
期限切れ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":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。応答には、認証されたユーザーに関連付けられた Firebase 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":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。応答には、認証されたユーザーに関連付けられた Firebase 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":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。応答には、認証されたユーザーに関連付けられた Firebase 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: この資格情報はすでに別のユーザー アカウントに関連付けられています。

Auth setAccountInfoエンドポイントに HTTP POSTリクエストを発行することで、現在のユーザーからプロバイダーのリンクを解除できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
idトークンアカウントの Firebase ID トークン。
プロバイダーの削除文字列のリストリンクを解除するプロバイダー ID のリスト (例: 「google.com」、「パスワード」など)。
応答ペイロード
プロパティ名タイプ説明
ローカルID現在のユーザーの uid。
Eメールアカウントのメールアドレス。
表示名アカウントの表示名。
写真URLアカウントの写真の URL。
パスワードハッシュパスワードのハッシュバージョン。
プロバイダーユーザー情報JSONオブジェクトのリスト「providerId」と「federatedId」を含むすべてのリンクされたプロバイダー オブジェクトのリスト。
メール認証済みブール値アカウントのメールアドレスが認証されているかどうか。

サンプルリクエスト

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"idToken":"[FIREBASE_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: ユーザーの資格情報はもう有効ではありません。ユーザーは再度サインインする必要があります。

確認メールを送信する

Auth getOobConfirmationCodeエンドポイントに HTTP POSTリクエストを発行することで、現在のユーザーの電子メール検証を送信できます。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
のオプションのヘッダー
プロパティ名説明
X-Firebase-ロケールユーザーのロケールに対応する言語コード。これを渡すと、ユーザーに送信される電子メール検証がローカライズされます。
リクエストボディのペイロード
プロパティ名タイプ説明
リクエストの種類送信する確認コードのタイプ。常に「VERIFY_EMAIL」である必要があります。
idトークン検証するユーザーの Firebase ID トークン。
応答ペイロード
プロパティ名タイプ説明
Eメールアカウントのメールアドレス。

サンプルリクエスト

curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。

応答例

{
  "email": "user@example.com"
}

一般的なエラーコード

  • INVALID_ID_TOKEN: ユーザーの資格情報はもう有効ではありません。ユーザーは再度サインインする必要があります。
  • USER_NOT_FOUND: この識別子に対応するユーザー レコードはありません。ユーザーが削除された可能性があります。

メール認証の確認

電子メール検証コードを確認するには、HTTP POSTリクエストを Auth setAccountInfoエンドポイントに発行します。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
oobコード電子メール検証のためにユーザーの電子メールに送信されるアクション コード。
応答ペイロード
プロパティ名タイプ説明
Eメールアカウントのメールアドレス。
表示名アカウントの表示名。
写真URLアカウントの写真の URL。
パスワードハッシュパスワードのハッシュ。
プロバイダーユーザー情報JSONオブジェクトのリスト「providerId」と「federatedId」を含むすべてのリンクされたプロバイダー オブジェクトのリスト。
メール認証済みブール値アカウントのメールアドレスが認証されているかどうか。

サンプルリクエスト

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: この識別子に対応するユーザー レコードはありません。ユーザーが削除された可能性があります。

アカウントを削除する

現在のユーザーを削除するには、Auth deleteAccountエンドポイントに HTTP POSTリクエストを発行します。

メソッド: POST

コンテンツタイプ: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名タイプ説明
idトークン削除するユーザーの Firebase ID トークン。
応答ペイロード
プロパティ名タイプ説明

サンプルリクエスト

curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'

リクエストが成功したことは、 200 OK HTTP ステータス コードで示されます。

一般的なエラーコード

  • INVALID_ID_TOKEN: ユーザーの資格情報はもう有効ではありません。ユーザーは再度サインインする必要があります。
  • USER_NOT_FOUND: この識別子に対応するユーザー レコードはありません。ユーザーが削除された可能性があります。

Firebase認証エミュレータ

Firebase Local Emulator Suite には、ローカル プロトタイピングと認証フローのテストに使用できるAuthentication エミュレータが含まれています。エミュレーターは次の REST エンドポイントを公開します。

ユーザーアカウントをクリアする

状態に関係なく、指定したプロジェクト内のすべてのアカウントを削除します。

メソッド: DELETE

終点

9099認証エミュレータのデフォルトのポートであることに注意してください。実際に使用されているポートの端末出力を確認してください。

http://localhost:9099/emulator/v1/projects/{project-id}/accounts

エミュレータ構成を取得する

指定されたプロジェクトのエミュレータ固有の構成を取得します。

メソッド: GET

終点

9099認証エミュレータのデフォルトのポートであることに注意してください。実際に使用されているポートの端末出力を確認してください。

http://localhost:9099/emulator/v1/projects/{project-id}/config
応答ペイロード
プロパティ名タイプ説明
サインイン物体単一のキー、 allowDuplicateEmails (ブール値) を含むsignIn 構成オブジェクト。

パッチエミュレータ構成

指定されたプロジェクトのエミュレータ固有の構成を更新します。

メソッド:パッチ

終点

9099認証エミュレータのデフォルトのポートであることに注意してください。実際に使用されているポートの端末出力を確認してください。

コンテンツタイプ: application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
リクエスト本文ペイロード
プロパティ名タイプ説明
サインイン物体単一のキー、 allowDuplicateEmails (ブール値) を持つ必要なサインイン構成オブジェクト。
応答ペイロード
プロパティ名タイプ説明
サインイン物体単一のキー、 allowDuplicateEmails (ブール値) を含む、要求後のサインイン構成オブジェクト。

帯域外認証コードの取得

テストしている認証フローが通常、帯域外コード (電子メール検証コード、パスワード リセット コードなど) を生成する場合、エミュレータはそのようなコードを使用されるまで内部に保存します。

メソッド: GET

終点

9099認証エミュレータのデフォルトのポートであることに注意してください。実際に使用されているポートの端末出力を確認してください。

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
応答ペイロード
プロパティ名タイプ説明
oobコード配列保留中のすべての確認コードの詳細を含むオブジェクトの配列。各オブジェクトには、 email (String)、 oobCode (String)、 oobLink (String)、およびrequestType (String)が含まれます

SMS検証コードを取得します

電話/SMS認証フローをテストしている場合、エミュレータはそのようなSMSコードを使用するまで内部的に格納します。

方法:取得します

終点

9099認証エミュレータのデフォルトポートであることに注意してください。使用されている実際のポートの端子出力を確認してください。

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
応答ペイロード
プロパティ名タイプ説明
検証コード配列すべての保留中の検証コードの詳細を含むオブジェクトの配列。各オブジェクトには、 phoneNumber (String)とsessionCode (String)が含まれます。

エラー応答

エラー応答形式

上記のAPIのいずれかについて、バックエンドサーバーからエラーが返されると、応答には次の形式があります。

サンプル応答

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalid",
        "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
      }
    ],
    "code": 400,
    "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
  }
}

エラーコードはメッセージフィールドから取得されます。上記のすべてのエラーコードは、メッセージフィールドコンテンツを参照しています。