API de REST de Firebase Auth

Uso de API

Puedes consultar el backend de Firebase Auth a través de una API de REST. Esto se puede usar para diversas operaciones, como crear nuevos usuarios, acceder a los existentes y editar o eliminar estos usuarios.

En este documento, API_KEY hace referencia a la clave de API web, que se puede obtener en la configuración del proyecto en la Consola del administrador.

Intercambia un token personalizado por un ID y un token de actualización

Puedes intercambiar un token de Auth personalizado por un ID y un token de actualización mediante una solicitud HTTP POST al extremo verifyCustomToken de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
token string Un token personalizado de Firebase Auth a partir del cual se crea un ID y un par de tokens de actualización.
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
idToken string Un token de ID de Firebase Auth generado a partir del token personalizado proporcionado.
refreshToken string Un token de actualización de Firebase Auth generado a partir del token personalizado proporcionado.
expiresIn string La cantidad de segundos en los que vence el token de ID.

Solicitud de muestra

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

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el token personalizado.

Respuesta de muestra

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

Códigos de error comunes

  • INVALID_CUSTOM_TOKEN: el formato del token personalizado es incorrecto o el token no es válido por algún motivo (por ejemplo, vencido, firma no válida, etc.)
  • CREDENTIAL_MISMATCH: el token personalizado corresponde a un proyecto de Firebase diferente.

Intercambia un token de actualización por un token de ID

Para actualizar un token de ID de Firebase, emite una solicitud HTTP Solicitud POST al extremo securetoken.googleapis.com.

Método: POST

Tipo de contenido: application/x-www-form-urlencoded

Extremo
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
grant_type string El tipo de concesión del token de actualización, siempre "refresh_token"
refresh_token string Un token de actualización de Firebase Auth.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
expires_in string La cantidad de segundos en los que vence el token de ID.
token_type string El tipo de token de actualización, siempre "Portador"
refresh_token string El token de actualización de Firebase Auth proporcionado en la solicitud o un token de actualización nuevo.
id_token string Un token de ID de Firebase Auth.
user_id string El uid correspondiente al token de ID proporcionado
project_id string El ID del proyecto de Firebase.

Solicitud de muestra

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]'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID y el token de actualización nuevos de Firebase.

Respuesta de muestra

{
  "expires_in": "3600",
  "token_type": "Bearer",
  "refresh_token": "[REFRESH_TOKEN]",
  "id_token": "[ID_TOKEN]",
  "user_id": "tRcfmLH7o2XrNELi...",
  "project_id": "1234567890"
}

Códigos de error comunes

  • TOKEN_EXPIRED: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • USER_DISABLED: Un administrador inhabilitó la cuenta de usuario.
  • USER_NOT_FOUND: No se encontró el usuario que corresponde al token de actualización. Es probable que se haya borrado el usuario.
  • La clave de API no es válida. Pasa una clave de API válida. (se proporcionó una clave de API no válida)
  • INVALID_REFRESH_TOKEN: Se proporcionó un token de actualización no válido.
  • Se recibió una carga útil de JSON no válido. Nombre “refresh_tokens\” desconocido: No se puede vincular el parámetro de consulta. No se pudo encontrar el campo “refresh_tokens” en el mensaje de solicitud.
  • INVALID_GRANT_TYPE: El tipo de otorgamiento especificado no es válido.
  • MISSING_REFRESH_TOKEN: No se proporcionó ningún token de actualización.
  • PROJECT_NUMBER_MISMATCH: el número de proyecto del token de actualización no coincide con el de la clave de API proporcionada.

Regístrate con correo electrónico / contraseña

Puedes crear un nuevo usuario de correo electrónico y contraseña mediante una solicitud HTTP POST al extremo signupNewUser de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
email string El correo electrónico que creará el usuario.
contraseña string La contraseña que creará el usuario.
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
idToken string Un token de ID de Firebase Auth para el usuario recién creado.
correo electrónico string El correo electrónico del usuario recién creado.
refreshToken string Un token de actualización de Firebase Auth para el usuario recién creado.
expiresIn string La cantidad de segundos en los que vence el token de ID.
localId string El uid del usuario recién creado.

Solicitud de muestra

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con la cuenta nueva.

Respuesta de muestra

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

Códigos de error comunes

  • EMAIL_EXISTS: La cuenta de correo electrónico ya está en uso en otra cuenta.
  • OPERATION_NOT_ALLOWED: el acceso con contraseña está inhabilitado para este proyecto.
  • TOO_MANY_ATTEMPTS_TRY_LATER: bloqueamos todas las solicitudes de este dispositivo debido a actividades inusuales. Vuelve a intentarlo más tarde.

Accede con correo electrónico / contraseña

Puedes acceder a un usuario con un correo electrónico y una contraseña mediante una solicitud HTTP POST al extremo verifyPassword de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
email string El correo electrónico con el que accede el usuario.
contraseña string La contraseña de la cuenta.
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
idToken string Un token de ID de Firebase Auth para el usuario autenticado.
correo electrónico string El correo electrónico del usuario autenticado
refreshToken string Un token de actualización de Firebase Auth para el usuario autenticado.
expiresIn string La cantidad de segundos en los que vence el token de ID.
localId string El uid del usuario autenticado.
registered boolean Indica si el correo electrónico es para una cuenta existente.

Solicitud de muestra

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con la cuenta de correo electrónico/contraseña existente.

Respuesta de muestra

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

Códigos de error comunes

  • EMAIL_NOT_FOUND: No hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.
  • INVALID_PASSWORD: la contraseña no es válida o el usuario no tiene una contraseña.
  • USER_DISABLED: Un administrador inhabilitó la cuenta de usuario.

Accede de manera anónima

Para permitir que un usuario acceda de forma anónima, ejecuta una solicitud POST HTTP al extremo signupNewUser de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
idToken string Un token de ID de Firebase Auth para el usuario recién creado.
correo electrónico string Como el usuario es anónimo, debería estar vacío.
refreshToken string Un token de actualización de Firebase Auth para el usuario recién creado.
expiresIn string La cantidad de segundos en los que vence el token de ID.
localId string El uid del usuario recién creado.

Solicitud de muestra

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

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario anónimo.

Respuesta de muestra

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

Códigos de error comunes

  • OPERATION_NOT_ALLOWED: se inhabilita el acceso del usuario anónimo para este proyecto.

Accede con credencial de OAuth

Puedes hacer que un usuario con una credencial de OAuth emita una solicitud HTTP POST al extremo verifyAssertion de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
requestUri string El URI al que el IDP redirecciona al usuario.
postBody string Contiene la credencial de OAuth (un token de ID o token de acceso) y el ID del proveedor que emite la credencial.
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero.
returnIdpCredential boolean Indica si se debe forzar el retorno de la credencial de OAuth en los siguientes errores: FEDERATED_USER_ID_ALREADY_LINKED y EMAIL_EXISTS.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
federatedId string El ID único identifica la cuenta de IdP.
providerId string El ID del proveedor vinculado (como "google.com" para el proveedor de Google).
localId string El uid del usuario autenticado.
emailVerified boolean Si el correo electrónico de acceso está verificado.
email string El correo electrónico de la cuenta.
oauthIdToken string El token de id de OIDC (si está disponible).
oauthAccessToken string El token de acceso de OAuth (si está disponible).
oauthTokenSecret string El secreto de token de OAuth 1.0 (si está disponible).
rawUserInfo string La respuesta JSON en string que contiene todos los datos de IdP correspondientes a la credencial de OAuth proporcionada.
firstName string El nombre de la cuenta.
lastName string El apellido de la cuenta.
fullName string El nombre completo de la cuenta.
displayName string El nombre visible de la cuenta.
photoUrl string La URL de foto de la cuenta.
idToken string Un token de ID de Firebase Auth para el usuario autenticado.
refreshToken string Un token de actualización de Firebase Auth para el usuario autenticado.
expiresIn string La cantidad de segundos en los que vence el token de ID.
needConfirmation boolean Indica si ya existe otra cuenta con la misma credencial. El usuario deberá acceder a la cuenta original y, luego, vincularla con la credencial actual.

Solicitud de muestra con un token de ID de OAuth

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.

Respuesta de ejemplo con un token de ID de OAuth

{
  "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\", ...}"
}

Solicitud de muestra con token de acceso de 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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.

Respuesta de ejemplo con un token de acceso de 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\", ...}"
}

Solicitud de muestra con la credencial de OAuth 1.0 de Twitter

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.

Respuesta de ejemplo con la credencial OAuth 1.0 de Twitter

{
  "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\", ...}"
}

Códigos de error comunes

  • OPERATION_NOT_ALLOWED: El proveedor correspondiente está inhabilitado para este proyecto.
  • INVALID_IDP_RESPONSE: La credencial de auth proporcionada tiene un formato incorrecto o caducó.

Obtener proveedores por correo electrónico

Puedes buscar todos los proveedores asociados a un correo electrónico especificado mediante la emisión de una solicitud HTTP POST al extremo createAuthUri de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
identifier string Dirección de correo electrónico del usuario
continueUri string El URI al que el IDP redirecciona al usuario. Para este caso práctico, es solo la URL actual.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
allProviders Lista de strings La lista de proveedores con los que el usuario accedió antes.
registered boolean Indica si el correo electrónico es para una cuenta existente.

Solicitud de muestra

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]"}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene la lista de proveedores asociados con el correo electrónico.

Respuesta de muestra

{
  "allProviders": [
    "password",
    "google.com"
  ],
  "registered": true
}

Códigos de error comunes

  • INVALID_EMAIL: la dirección de correo electrónico tiene un formato no válido.

Envía un correo electrónico de restablecimiento de contraseña

Puedes enviar un correo electrónico de restablecimiento de contraseña mediante una solicitud POST HTTP al extremo getOobConfirmationCode de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Encabezados opcionales
Nombre de la propiedad Descripción
X-Firebase-Locale El código de lenguaje correspondiente a la configuración regional del usuario. Pasar esto localizará el correo electrónico de restablecimiento de contraseña que se envió al usuario.
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
requestType string El tipo de código OOB que se mostrará. Debe ser "PASSWORD_RESET" para restablecer la contraseña.
email string Dirección de correo electrónico del usuario.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
email string Dirección de correo electrónico del usuario.

Solicitud de muestra

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]"}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK.

Respuesta de muestra

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

Códigos de error comunes

  • EMAIL_NOT_FOUND: No hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.

Verificar el código de restablecimiento de contraseña

Para verificar un código de restablecimiento de contraseña, envía una solicitud HTTP POST al extremo resetPassword de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
oobCode string El código de acción de correo electrónico que se envió al correo electrónico del usuario para restablecer la contraseña.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
email string Dirección de correo electrónico del usuario.
requestType string Tipo de código de acción de correo electrónico. Debe ser “PASSWORD_RESET”.

Solicitud de muestra

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

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK.

Respuesta de muestra

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Códigos de error comunes

  • OPERATION_NOT_ALLOWED: el acceso con contraseña está inhabilitado para este proyecto.
  • EXPIRED_OOB_CODE: el código de acción caducó.
  • INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, caducó o ya se usó.

Confirmar restablecimiento de contraseña

Puedes aplicar un cambio de restablecimiento de contraseña mediante una solicitud HTTP POST al extremo resetPassword de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
oobCode string El código de acción de correo electrónico que se envió al correo electrónico del usuario para restablecer la contraseña.
newPassword string La nueva contraseña del usuario.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
email string Dirección de correo electrónico del usuario.
requestType string Tipo de código de acción de correo electrónico. Debe ser “PASSWORD_RESET”.

Solicitud de muestra

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]"}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK.

Respuesta de muestra

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Códigos de error comunes

  • OPERATION_NOT_ALLOWED: el acceso con contraseña está inhabilitado para este proyecto.
  • EXPIRED_OOB_CODE: el código de acción caducó.
  • INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, caducó o ya se usó.
  • USER_DISABLED: Un administrador inhabilitó la cuenta de usuario.

Cambiar el correo electrónico

Para cambiar el correo electrónico de un usuario, envía una solicitud HTTP POST al extremo setAccountInfo de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Encabezados opcionales
Nombre de la propiedad Descripción
X-Firebase-Locale El código de lenguaje correspondiente a la configuración regional del usuario. Pasar esto localizará la revocación de cambios de correo electrónico que se envió al usuario.
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
idToken string Un token de ID de Firebase Auth para el usuario.
correo electrónico string El correo electrónico nuevo del usuario.
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
localId string El uid del usuario actual.
email string Dirección de correo electrónico del usuario.
passwordHash string Versión hash de la contraseña.
providerUserInfo Lista de objetos JSON Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”.
idToken string Nuevo token de ID de Firebase Auth para el usuario.
refreshToken string Un token de actualización de Firebase Auth.
expiresIn string La cantidad de segundos en los que vence el token de ID.

Solicitud de muestra

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el nuevo token de ID de Firebase y el token de actualización asociado con el usuario.

Respuesta de muestra

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example2.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example2.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Códigos de error comunes

  • EMAIL_EXISTS: La cuenta de correo electrónico ya está en uso en otra cuenta.
  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.

Cambiar contraseña

Para cambiar el correo electrónico de un usuario, envía una solicitud HTTP POST al extremo setAccountInfo de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
idToken string Un token de ID de Firebase Auth para el usuario.
contraseña string La nueva contraseña del usuario.
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
localId string El uid del usuario actual.
email string Dirección de correo electrónico del usuario.
passwordHash string Versión de hash de la contraseña.
providerUserInfo Lista de objetos JSON Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”.
idToken string Nuevo token de ID de Firebase Auth para el usuario.
refreshToken string Un token de actualización de Firebase Auth.
expiresIn string La cantidad de segundos en los que vence el token de ID.

Solicitud de muestra

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el nuevo token de ID de Firebase y el token de actualización asociado con el usuario.

Respuesta de muestra

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Códigos de error comunes

  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • WEAK_PASSWORD: La contraseña debe tener 6 caracteres o más.

Actualizar perfil

Para actualizar el perfil de un usuario (nombre visible / URL de foto), emite una solicitud HTTP POST al extremo setAccountInfo de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
idToken string Un token de ID de Firebase Auth para el usuario.
displayName string Nombre visible nuevo del usuario.
photoUrl string La nueva URL de foto del usuario.
deleteAttribute Lista de strings Lista de atributos para borrar, “DISPLAY_NAME” o “PHOTO_URL”. Esto anulará estos valores.
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
localId string El uid del usuario actual.
email string Dirección de correo electrónico del usuario.
displayName string Nombre visible nuevo del usuario.
photoUrl string La nueva URL de foto del usuario.
passwordHash string Versión de hash de la contraseña.
providerUserInfo Lista de objetos JSON Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”.
idToken string Nuevo token de ID de Firebase Auth para el usuario.
refreshToken string Un token de actualización de Firebase Auth.
expiresIn string La cantidad de segundos en los que vence el token de ID.

Solicitud de muestra

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK.

Respuesta de muestra

{
  "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"
}

Códigos de error comunes

  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.

Obtener datos del usuario

Para obtener los datos del usuario, envía una solicitud HTTP POST al extremo getAccountInfo de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
idToken string El token de ID de Firebase de la cuenta.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
users Lista de objetos JSON La cuenta asociada con el token de ID de Firebase determinado. Consulta la siguiente información para obtener más detalles.
Carga útil de la respuesta (contenido de arreglo users)
Nombre de la propiedad Tipo Descripción
localId string El uid del usuario actual.
email string El correo electrónico de la cuenta.
emailVerified boolean Indica si se verificó el correo electrónico de la cuenta.
displayName string El nombre visible de la cuenta.
providerUserInfo Lista de objetos JSON Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”.
photoUrl string La URL de foto de la cuenta.
passwordHash string Versión de hash de la contraseña.
passwordUpdatedAt double Es la marca de tiempo, en milisegundos, en que se modificó la contraseña de la cuenta por última vez.
validSince string La marca de tiempo, en segundos, que marca un límite, antes de la cual el token de ID de Firebase se considera revocado.
inhabilitado boolean Si la cuenta está inhabilitada o no.
lastLoginAt string La marca de tiempo, en milisegundos, en la que se accedió a la cuenta por última vez.
createdAt string La marca de tiempo, en milisegundos, en la que se creó la cuenta.
customAuth boolean Si el desarrollador autentica la cuenta.

Solicitud de muestra

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

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contendrá toda la información del usuario asociada con la cuenta.

Respuesta de muestra

{
  "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
    }
  ]
}

Códigos de error comunes

  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • EMAIL_NOT_FOUND: no hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.

Puedes vincular un correo electrónico y contraseña con un usuario actual mediante una solicitud HTTP POST al extremo setAccountInfo de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
idToken string El token de ID de Firebase de la cuenta con la que intentas vincular la credencial.
correo electrónico string El correo electrónico a vincular con la cuenta.
contraseña string La contraseña nueva de la cuenta.
returnSecureToken string Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
localId string El uid del usuario actual.
email string El correo electrónico de la cuenta.
displayName string El nombre visible de la cuenta.
photoUrl string La URL de foto de la cuenta.
passwordHash string Versión de hash de la contraseña.
providerUserInfo Lista de objetos JSON Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”.
emailVerified boolean Indica si se verificó el correo electrónico de la cuenta.
idToken string Nuevo token de ID de Firebase Auth para el usuario.
refreshToken string Un token de actualización de Firebase Auth.
expiresIn string La cantidad de segundos en los que vence el token de ID.

Solicitud de muestra

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.

Respuesta de muestra

{
  "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
}

Códigos de error comunes

  • CREDENTIAL_TOO_OLD_LOGIN_ANY: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • TOKEN_EXPIRED: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • WEAK_PASSWORD: La contraseña debe tener 6 caracteres o más.

Para vincular una credencial de OAuth a un usuario, envía una solicitud HTTP POST al extremo verifyAssertion de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
idToken string El token de ID de Firebase de la cuenta con la que intentas vincular la credencial.
requestUri string El URI al que el IDP redirecciona al usuario.
postBody string Contiene la credencial de OAuth (un token de ID o token de acceso) y el ID del proveedor que emite la credencial.
returnSecureToken boolean Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero.
returnIdpCredential boolean Indica si se debe forzar el retorno de la credencial de OAuth en los siguientes errores: FEDERATED_USER_ID_ALREADY_LINKED y EMAIL_EXISTS.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
federatedId string El ID único identifica la cuenta de IdP.
providerId string El ID del proveedor vinculado (como "google.com" para el proveedor de Google).
localId string El uid del usuario autenticado.
emailVerified boolean Si el correo electrónico de acceso está verificado.
email string El correo electrónico de la cuenta.
oauthIdToken string El token de id de OIDC (si está disponible).
oauthAccessToken string El token de acceso de OAuth (si está disponible).
oauthTokenSecret string El secreto de token de OAuth 1.0 (si está disponible).
rawUserInfo string La respuesta JSON en string que contiene todos los datos de IdP correspondientes a la credencial de OAuth proporcionada.
firstName string El nombre de la cuenta.
lastName string El apellido de la cuenta.
fullName string El nombre completo de la cuenta.
displayName string El nombre visible de la cuenta.
photoUrl string La URL de foto de la cuenta.
idToken string Un token de ID de Firebase Auth para el usuario autenticado.
refreshToken string Un token de actualización de Firebase Auth para el usuario autenticado.
expiresIn string La cantidad de segundos en los que vence el token de ID.

Solicitud de muestra con un token de ID de OAuth

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.

Respuesta de ejemplo con un token de ID de OAuth

{
  "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\", ...}"
}

Solicitud de muestra con token de acceso de 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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.

Respuesta de ejemplo con un token de acceso de 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\", ...}"
}

Solicitud de muestra con la credencial de OAuth 1.0 de Twitter

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}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.

Respuesta de ejemplo con la credencial OAuth 1.0 de Twitter

{
  "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\", ...}"
}

Códigos de error comunes

  • OPERATION_NOT_ALLOWED: El proveedor correspondiente está inhabilitado para este proyecto.
  • INVALID_IDP_RESPONSE: La credencial de auth proporcionada tiene un formato incorrecto o caducó.
  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • EMAIL_EXISTS: La cuenta de correo electrónico ya está en uso en otra cuenta.
  • FEDERATED_USER_ID_ALREADY_LINKED: esta credencial ya está asociada a una cuenta de usuario diferente.

Puedes desvincular un proveedor de un usuario actual mediante la emisión de una solicitud POST HTTP al extremo setAccountInfo de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
idToken string El token de ID de Firebase de la cuenta.
deleteProvider Lista de strings La lista de ID de proveedores que se desvincularán, p. ej., “google.com”, “contraseña”, etcétera.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
localId string El uid del usuario actual.
email string El correo electrónico de la cuenta.
displayName string El nombre visible de la cuenta.
photoUrl string La URL de foto de la cuenta.
passwordHash string Versión hash de la contraseña.
providerUserInfo Lista de objetos JSON Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”.
emailVerified boolean Indica si se verificó el correo electrónico de la cuenta.

Solicitud de muestra

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]"]}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK.

Respuesta de muestra

{
  "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"
}

Códigos de error comunes

  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.

Envía una verificación por correo electrónico

Puedes enviar una verificación por correo electrónico para el usuario actual si envías una solicitud HTTP POST al extremo getOobConfirmationCode de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Encabezados opcionales
Nombre de la propiedad Descripción
X-Firebase-Locale El código de lenguaje correspondiente a la configuración regional del usuario. Pasar esto localizará la verificación por correo electrónico que se envió al usuario.
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
requestType string El tipo de código de confirmación que se enviará. Siempre debe ser “VERIFY_EMAIL”.
idToken string El token de ID de Firebase del usuario que se debe verificar.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
email string El correo electrónico de la cuenta.

Solicitud de muestra

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]"}'

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK.

Respuesta de muestra

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

Códigos de error comunes

  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • EMAIL_NOT_FOUND: no hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.

Confirma la verificación por correo electrónico

Para confirmar un código de verificación por correo electrónico, envía una solicitud HTTP POST al extremo setAccountInfo de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
oobCode string El código de acción que se envía al correo electrónico del usuario para su verificación.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
email string El correo electrónico de la cuenta.
displayName string El nombre visible de la cuenta.
photoUrl string La URL de foto de la cuenta.
passwordHash string El hash de la contraseña.
providerUserInfo Lista de objetos JSON Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”.
emailVerified boolean Indica si se verificó el correo electrónico de la cuenta.

Solicitud de muestra

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

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK.

Respuesta de muestra

{
  "localId": "FhyStE...",
  "email": "user@example.com",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ]
}

Códigos de error comunes

  • EXPIRED_OOB_CODE: el código de acción caducó.
  • INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, caducó o ya se usó.
  • USER_DISABLED: Un administrador inhabilitó la cuenta de usuario.
  • EMAIL_NOT_FOUND: No hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.

Borrar cuenta

Puedes borrar un usuario actual mediante la emisión de una solicitud HTTP POST al extremo deleteAccount de Auth.

Método: POST

Tipo de contenido application/json

Extremo
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
idToken string El token de ID de Firebase del usuario que se borrará.
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción

Solicitud de muestra

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

Una solicitud correcta se indica mediante un código de estado HTTP 200 OK.

Códigos de error comunes

  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
  • EMAIL_NOT_FOUND: no hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.

Emulador de Firebase Authentication

Firebase Local Emulator Suite incluye un emulador de Authentication, que se puede usar para el prototipado local y las pruebas de flujos de autenticación. El emulador expone el siguiente REST en los extremos.

Borrar cuentas de usuario

Quita todas las cuentas del proyecto especificado, sin importar el estado.

Método: DELETE

Extremo

Ten en cuenta que 9099 es el puerto predeterminado para el emulador de Authentication. Comprobar terminal salida del puerto real que se usa.

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

Cómo obtener la configuración del emulador

Obtén la configuración específica del emulador para el proyecto especificado.

Método: GET

Extremo

Ten en cuenta que 9099 es el puerto predeterminado para el emulador de Authentication. Comprobar terminal salida del puerto real que se usa.

http://localhost:9099/emulator/v1/projects/{project-id}/config
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
Acceder objeto Un objeto de configuración de signIn que contiene una sola clave, allowDuplicateEmails (booleano).

Cómo aplicar parches a la configuración del emulador

Actualiza la configuración específica del emulador para el proyecto especificado.

Método: PATCH

Extremo

Ten en cuenta que 9099 es el puerto predeterminado para el emulador de Authentication. Comprobar terminal salida del puerto real que se usa.

Tipo de contenido application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Tipo Descripción
Acceder objeto Objeto de configuración de acceso deseado con una sola clave, allowDuplicateEmails (booleano).
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
Acceder objeto Objeto de configuración de acceso a la solicitud posterior con una clave única, allowDuplicateEmails (booleano).

Recupera códigos de autenticación fuera de banda

Si los flujos de autenticación que estás probando normalmente generarían códigos fuera de banda (p.ej., códigos de verificación por correo electrónico o códigos de restablecimiento de contraseña), el emulador almacena dichos códigos internamente hasta que y cómo se usan.

Método: GET

Extremo

Ten en cuenta que 9099 es el puerto predeterminado para el emulador de Authentication. Comprobar terminal salida del puerto real que se usa.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
Códigos oob array Un array de objetos que contiene detalles de todos los códigos de confirmación pendientes. Cada objeto contiene email (cadena), oobCode (cadena), oobLink (cadena) y requestType (cadena)

Recupera códigos de verificación por SMS

Si estás probando los flujos de autenticación por teléfono o SMS, el emulador almacena esos códigos SMS de forma interna. hasta que se usen.

Método: GET

Extremo

Ten en cuenta que 9099 es el puerto predeterminado para el emulador de Authentication. Comprobar terminal salida del puerto real que se usa.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Carga útil de la respuesta
Nombre de la propiedad Tipo Descripción
Códigos de verificación array Un array de objetos que contiene detalles de todos los códigos de verificación pendientes. Cada objeto contiene phoneNumber (cadena) y sessionCode (cadena).

Respuesta de error

Formato de respuesta de error

Cada vez que se devuelve un error del servidor de backend para cualquiera de las APIs anteriores, la respuesta tendrá el siguiente formato.

Respuesta de muestra

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

El código de error se obtiene del campo de mensaje. Todos los códigos de error anteriores hacen referencia a la contenido del campo de mensaje.