API 使用量
REST API を使用して Firebase Auth バックエンドにクエリを実行できます。このパラメータは、 新しいユーザーの作成、既存ユーザーのログイン、これらのユーザーの編集や削除などが可能です。
このドキュメント全体を通して、API_KEY
はウェブ API キー、
これは
プロジェクト設定
できます。
カスタム トークンを 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}'
リクエストの正常終了は、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]'
リクエストの正常終了は、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}'
リクエストの正常終了は、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}'
リクエストの正常終了は、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}'
リクエストの正常終了は、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}'
リクエストの正常終了は、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: 指定された認証情報の形式が正しくないか、期限が切れています。
メール プロバイダの取得
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]"}'
リクエストの正常終了は、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]"}'
リクエストの正常終了は、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]"}'
リクエストの正常終了は、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]"}'
リクエストの正常終了は、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}'
リクエストの正常終了は、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}'
リクエストの正常終了は、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}'
リクエストの正常終了は、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]"}'
リクエストの正常終了は、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}'
リクエストの正常終了は、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 文字以上にする必要があります。
OAuth 認証情報によるリンク
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}'
リクエストの正常終了は、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: この認証情報は、すでに別のユーザー アカウントに関連付けられています。
プロバイダのリンク解除
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]"]}'
リクエストの正常終了は、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]"}'
リクエストの正常終了は、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]"}'
リクエストの正常終了は、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]"}'
リクエストの正常終了は、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" } }
エラーコードはメッセージ フィールドから取得されます。上記のエラーコードはすべて メッセージ フィールドの内容。