Firebase Auth REST API

API 使用量

REST API を使用して Firebase Auth バックエンドにクエリを実行できます。このパラメータは、 新しいユーザーの作成、既存ユーザーのログイン、これらのユーザーの編集や削除などが可能です。

このドキュメント全体を通して、API_KEY はウェブ API キー、 これは プロジェクト設定 できます。

<ph type="x-smartling-placeholder">

カスタム トークンを ID および更新トークンと交換

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

メソッド: POST

Content-Type: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名 説明
token 文字列 ID と更新トークンのペアの作成に使用する Firebase Auth カスタム トークン。
returnSecureToken ブール値 ID と更新トークンを返すかどうか。常に true を指定します。
レスポンスのペイロード
プロパティ名 説明
idToken 文字列 指定されたカスタム トークンから生成された Firebase Auth ID トークン。
refreshToken 文字列 指定されたカスタム トークンから生成された Firebase Auth の更新トークン。
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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、関連付けられた Firebase ID トークンと更新トークンが含まれます。 置き換えます。

レスポンスの例

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

よく発生するエラーコード

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

更新トークンを ID トークンと交換

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

メソッド: POST

Content-Type: application/x-www-form-urlencoded

エンドポイント
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名 説明
grant_type 文字列 更新トークンの付与タイプ。常に「refresh_token」です。
refresh_token 文字列 Firebase Auth の更新トークン。
レスポンスのペイロード
プロパティ名 説明
expires_in 文字列 ID トークンの有効期間(秒)。
token_type 文字列 更新トークンのタイプ。常に「Bearer」です。
refresh_token 文字列 リクエストで指定された Firebase Auth の更新トークン、または新しい更新トークン。
id_token 文字列 Firebase Auth ID トークン。
user_id 文字列 提供された ID トークンに対応する uid。
project_id 文字列 Firebase プロジェクト 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]'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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: 更新トークンが指定されていません。
  • 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 を指定します。
レスポンスのペイロード
プロパティ名 説明
idToken 文字列 新しく作成されたユーザーの Firebase Auth ID トークン。
メール 文字列 新しく作成されたユーザーのメールアドレス。
refreshToken 文字列 新しく作成されたユーザーの Firebase Auth 更新トークン。
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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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: 異常なアクティビティが行われたため、このデバイスからのリクエストはすべてブロックされています。しばらくしてからもう一度実行してください。

メールアドレスとパスワードによるログイン

HTTP POST リクエストを Auth verifyPassword エンドポイントに発行することで、メールアドレスとパスワードによるユーザーのログインが可能になります。

メソッド: POST

Content-Type: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名 説明
メール 文字列 ユーザーがログインに使用するメールアドレス。
パスワード 文字列 アカウントのパスワード。
returnSecureToken ブール値 ID と更新トークンを返すかどうか。常に true を指定します。
レスポンスのペイロード
プロパティ名 説明
idToken 文字列 認証されたユーザーの Firebase Auth ID トークン。
メール 文字列 認証されたユーザーのメールアドレス。
refreshToken 文字列 認証されたユーザーの Firebase Auth の更新トークン。
expiresIn 文字列 ID トークンの有効期間(秒)。
localId 文字列 認証されたユーザーの uid。
registered ブール値 メールアドレスが既存アカウントのものかどうか。

リクエストの例

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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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: この 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 を指定します。
レスポンスのペイロード
プロパティ名 説明
idToken 文字列 新しく作成されたユーザーの Firebase Auth ID トークン。
メール 文字列 ユーザーが匿名のため、空にする必要があります。
refreshToken 文字列 新しく作成されたユーザーの Firebase Auth 更新トークン。
expiresIn 文字列 ID トークンの有効期間(秒)。
localId 文字列 新しく作成されたユーザーの uid。

リクエストの例

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

リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。レスポンスには、関連付けられた Firebase 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 認証情報を強制的に返すかどうか。
レスポンスのペイロード
プロパティ名 説明
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 文字列 認証されたユーザーの Firebase Auth ID トークン。
refreshToken 文字列 認証されたユーザーの Firebase Auth の更新トークン。
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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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: 指定された認証情報の形式が正しくないか、期限が切れています。

メール プロバイダの取得

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

メソッド: POST

Content-Type: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名 説明
identifier 文字列 ユーザーのメールアドレス
continueUri 文字列 IDP がユーザーをリダイレクトする URI。このユースケースでは、単に現在の URL になります。
レスポンスのペイロード
プロパティ名 説明
allProviders 文字列のリスト ユーザーが以前にログインしていたプロバイダのリスト。
registered ブール値 メールアドレスが既存アカウントのものかどうか。

リクエストの例

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]"}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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」にする必要があります。
メール 文字列 ユーザーのメールアドレス。
レスポンスのペイロード
プロパティ名 説明
メール 文字列 ユーザーのメールアドレス。

リクエストの例

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]"}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字列 パスワードを再設定するためにユーザーのメールに送信されるメール アクション コード。
レスポンスのペイロード
プロパティ名 説明
メール 文字列 ユーザーのメールアドレス。
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]"}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字列 ユーザーの新しいパスワード。
レスポンスのペイロード
プロパティ名 説明
メール 文字列 ユーザーのメールアドレス。
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]"}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字列 ユーザーの Firebase Auth ID トークン。
メール 文字列 ユーザーの新しいメールアドレス。
returnSecureToken ブール値 ID と更新トークンを返すかどうか。
レスポンスのペイロード
プロパティ名 説明
localId 文字列 現在のユーザーの uid。
メール 文字列 ユーザーのメールアドレス。
passwordHash 文字列 パスワードのハッシュ バージョン。
providerUserInfo JSON オブジェクトのリスト 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。
idToken 文字列 ユーザーの新しい Firebase Auth ID トークン。
refreshToken 文字列 Firebase Auth の更新トークン。
expiresIn 文字列 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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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

Content-Type: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名 説明
idToken 文字列 ユーザーの Firebase Auth ID トークン。
パスワード 文字列 ユーザーの新しいパスワード。
returnSecureToken ブール値 ID と更新トークンを返すかどうか。
レスポンスのペイロード
プロパティ名 説明
localId 文字列 現在のユーザーの uid。
メール 文字列 ユーザーのメールアドレス。
passwordHash 文字列 パスワードのハッシュ バージョン。
providerUserInfo JSON オブジェクトのリスト 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。
idToken 文字列 ユーザーの新しい Firebase Auth ID トークン。
refreshToken 文字列 Firebase Auth の更新トークン。
expiresIn 文字列 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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字以上にする必要があります。

プロフィールを更新する

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

メソッド: POST

Content-Type: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名 説明
idToken 文字列 ユーザーの Firebase Auth ID トークン。
displayName 文字列 ユーザーの新しい表示名。
photoUrl 文字列 ユーザーの新しい写真 URL。
deleteAttribute 文字列のリスト 削除する属性のリスト、「DISPLAY_NAME」または「PHOTO_URL」。これらの値は null になります。
returnSecureToken ブール値 ID と更新トークンを返すかどうか。
レスポンスのペイロード
プロパティ名 説明
localId 文字列 現在のユーザーの uid。
メール 文字列 ユーザーのメールアドレス。
displayName 文字列 ユーザーの新しい表示名。
photoUrl 文字列 ユーザーの新しい写真 URL。
passwordHash 文字列 パスワードのハッシュ バージョン。
providerUserInfo JSON オブジェクトのリスト 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。
idToken 文字列 ユーザーの新しい Firebase Auth ID トークン。
refreshToken 文字列 Firebase Auth の更新トークン。
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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字列 アカウントの Firebase ID トークン。
レスポンスのペイロード
プロパティ名 説明
ユーザー JSON オブジェクトのリスト 指定された Firebase ID トークンに関連付けられているアカウント。詳しくは以下をご覧ください。
レスポンス ペイロード(users 配列コンテンツ)
プロパティ名 説明
localId 文字列 現在のユーザーの uid。
メール 文字列 アカウントのメールアドレス。
emailVerified ブール値 アカウントのメールアドレスが確認済みかどうか。
displayName 文字列 アカウントの表示名。
providerUserInfo JSON オブジェクトのリスト 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。
photoUrl 文字列 アカウントの写真の URL。
passwordHash 文字列 パスワードのハッシュ バージョン。
passwordUpdatedAt double アカウントのパスワードが最後に変更されたタイムスタンプ(ミリ秒単位)。
validSince 文字列 Firebase ID トークンが終了する境界を示すタイムスタンプ(秒単位)。 取り消されます。
無効 ブール値 アカウントが無効かどうか。
lastLoginAt 文字列 アカウントが最後にログインされたタイムスタンプ(ミリ秒単位)。
createdAt 文字列 アカウントが作成されたタイムスタンプ(ミリ秒単位)。
customAuth ブール値 アカウントが開発者によって認証されているかどうか。

リクエストの例

curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字列 認証情報をリンクするアカウントの Firebase ID トークン。
メール 文字列 アカウントへのリンクに対するメールアドレス。
パスワード 文字列 アカウントの新しいパスワード。
returnSecureToken 文字列 ID と更新トークンを返すかどうか。常に true を指定します。
レスポンスのペイロード
プロパティ名 説明
localId 文字列 現在のユーザーの uid。
メール 文字列 アカウントのメールアドレス。
displayName 文字列 アカウントの表示名。
photoUrl 文字列 アカウントの写真の URL。
passwordHash 文字列 パスワードのハッシュ バージョン。
providerUserInfo JSON オブジェクトのリスト 「providerId」と「federatedId」を含む、リンクされたすべてのプロバイダ オブジェクトのリスト。
emailVerified ブール値 アカウントのメールアドレスが確認済みかどうか。
idToken 文字列 ユーザーの新しい Firebase Auth ID トークン。
refreshToken 文字列 Firebase Auth の更新トークン。
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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字以上にする必要があります。

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

メソッド: POST

Content-Type: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名 説明
idToken 文字列 認証情報をリンクするアカウントの Firebase 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 文字列 認証されたユーザーの Firebase Auth ID トークン。
refreshToken 文字列 認証されたユーザーの Firebase Auth の更新トークン。
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":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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: この認証情報は、すでに別のユーザー アカウントに関連付けられています。

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

メソッド: POST

Content-Type: application/json

エンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
リクエスト本文ペイロード
プロパティ名 説明
idToken 文字列 アカウントの Firebase 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":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字列 確認するユーザーの Firebase ID トークン。
レスポンスのペイロード
プロパティ名 説明
メール 文字列 アカウントのメールアドレス。

リクエストの例

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]"}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字列 ユーザーのメールアドレスを確認するために送信されるアクション コード。
レスポンスのペイロード
プロパティ名 説明
メール 文字列 アカウントのメールアドレス。
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]"}'
<ph type="x-smartling-placeholder">

リクエストの正常終了は、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 文字列 削除するユーザーの Firebase ID トークン。
レスポンスのペイロード
プロパティ名 説明

リクエストの例

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

リクエストの正常終了は、200 OK の HTTP ステータス コードで示されます。

よく発生するエラーコード

  • INVALID_ID_TOKEN: ユーザーの認証情報は無効になりました。ユーザーは再ログインする必要があります。
  • USER_NOT_FOUND: この ID に対応するユーザー レコードはありません。このユーザーは削除された可能性があります。

Firebase Authentication エミュレータ

Firebase Local Emulator Suite には、Authentication エミュレータが含まれています。 認証フローのテストに 役立ちますエミュレータは、次の REST を公開します。 提供します

<ph type="x-smartling-placeholder">

ユーザー アカウントのクリア

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

メソッド: DELETE

エンドポイント

9099 は、Authentication エミュレータのデフォルト ポートです。ターミナルを確認する 使用する実際のポートの出力。

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

エミュレータ設定を取得する

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

メソッド: GET

エンドポイント

9099 は、Authentication エミュレータのデフォルト ポートです。ターミナルを確認する 使用する実際のポートの出力。

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

パッチ エミュレータの構成

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

メソッド: PATCH

エンドポイント

9099 は、Authentication エミュレータのデフォルト ポートです。ターミナルを確認する 使用する実際のポートの出力。

Content-Type: application/json

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

帯域外の認証コードを取得する

テスト対象の認証フローでは、帯域外のコード( メール確認コード、パスワード再設定コードなど)を含む場合、エミュレータは、 使用されます。

メソッド: GET

エンドポイント

9099 は、Authentication エミュレータのデフォルト ポートです。ターミナルを確認する 使用する実際のポートの出力。

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
レスポンス ペイロード
プロパティ名 説明
oobCode 配列 保留中のすべての確認コードの詳細を含むオブジェクトの配列。 各オブジェクトには、email(文字列)、oobCode(文字列)、 oobLink(文字列)、requestType(文字列)

SMS 確認コードを取得する

電話/SMS 認証フローをテストする場合、エミュレータはそのような SMS コードを内部に保存します。 使用されます。

メソッド: GET

エンドポイント

9099 は、Authentication エミュレータのデフォルト ポートです。ターミナルを確認する 使用する実際のポートの出力。

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
レスポンス ペイロード
プロパティ名 説明
VerificationCodes 配列 保留中のすべての確認コードの詳細を含むオブジェクトの配列。 各オブジェクトには phoneNumber(文字列)と sessionCode(文字列)が含まれます。

エラー レスポンス

エラー レスポンスの形式

上記の API のいずれかでバックエンド サーバーからエラーが返されると、レスポンス 次の形式になります。

レスポンスの例

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

エラーコードはメッセージ フィールドから取得されます。上記のエラーコードはすべて メッセージ フィールドの内容。