API REST de autenticación de Firebase

Uso de API

Puede consultar el backend de Firebase Auth a través de una API REST. Esto se puede utilizar para diversas operaciones, como crear nuevos usuarios, iniciar sesión en los existentes y editar o eliminar estos usuarios.

A lo largo de este documento, API_KEY se refiere a la clave API web, que se puede obtener en la página de configuración del proyecto en su consola de administración.

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

Puede intercambiar un token de autenticación personalizado por un ID y un token de actualización emitiendo una solicitud HTTP POST al punto final verifyCustomToken .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
simbólico cadena Un token personalizado de Firebase Auth a partir del cual crear un ID y actualizar un par de tokens.
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización. Siempre debería ser verdad.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
token de identificación cadena Un token de ID de autenticación de Firebase generado a partir del token personalizado proporcionado.
actualizarToken cadena Un token de actualización de Firebase Auth generado a partir del token personalizado proporcionado.
expira en cadena El número de segundos en los que caduca 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 exitosa 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, caducado, firma no válida, etc.)
  • CREDENTIAL_MISMATCH: el token personalizado corresponde a un proyecto de Firebase diferente.

Intercambiar un token de actualización por un token de identificación

Puedes actualizar un token de ID de Firebase emitiendo una solicitud HTTP POST al punto final securetoken.googleapis.com .

Método: ENVIAR

Tipo de contenido: aplicación/x-www-form-urlencoded

Carga útil del cuerpo de solicitud del punto final
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
tipo_concesión cadena El tipo de concesión del token de actualización, siempre "refresh_token".
token_actualización cadena Un token de actualización de Firebase Auth.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
expira en cadena El número de segundos en los que caduca el token de ID.
tipo_token cadena El tipo de token de actualización, siempre "Portador".
token_actualización cadena El token de actualización de Firebase Auth proporcionado en la solicitud o un nuevo token de actualización.
token_id cadena Un token de ID de autenticación de Firebase.
ID_usuario cadena El uid correspondiente al token de identificación proporcionado.
Projecto ID cadena Su ID de 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 exitosa 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.

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 iniciar sesión nuevamente.
  • USER_DISABLED: la cuenta de usuario ha sido deshabilitada por un administrador.
  • USER_NOT_FOUND: No se encontró el usuario correspondiente al token de actualización. Es probable que el usuario haya sido eliminado.
  • Clave API no válida. Pase una clave API válida. (Se proporcionó una clave API no válida)
  • INVALID_REFRESH_TOKEN: se proporciona un token de actualización no válido.
  • Se recibió una carga útil JSON no válida. Nombre desconocido \"refresh_tokens\": 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 concesión especificado no es válido.
  • MISSING_REFRESH_TOKEN: no se proporciona ningún token de actualización.

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

Puede crear un nuevo usuario de correo electrónico y contraseña emitiendo una solicitud HTTP POST al punto final Auth signupNewUser .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
correo electrónico cadena El correo electrónico que el usuario debe crear.
contraseña cadena La contraseña que el usuario debe crear.
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización. Siempre debería ser verdad.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
token de identificación cadena Un token de ID de autenticación de Firebase para el usuario recién creado.
correo electrónico cadena El correo electrónico del usuario recién creado.
actualizarToken cadena Un token de actualización de Firebase Auth para el usuario recién creado.
expira en cadena El número de segundos en los que caduca el token de ID.
ID local cadena 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 exitosa 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 nueva cuenta.

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 dirección de correo electrónico ya está en uso en otra cuenta.
  • OPERATION_NOT_ALLOWED: El inicio de sesión con contraseña está deshabilitado para este proyecto.
  • TOO_MANY_ATTEMPTS_TRY_LATER: Hemos bloqueado todas las solicitudes de este dispositivo debido a una actividad inusual. Vuelve a intentarlo más tarde.

Iniciar sesión con correo electrónico/contraseña

Puede iniciar sesión como usuario con un correo electrónico y una contraseña emitiendo una solicitud HTTP POST al punto final Auth verifyPassword .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
correo electrónico cadena El correo electrónico con el que el usuario inicia sesión.
contraseña cadena La contraseña para la cuenta.
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización. Siempre debería ser verdad.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
token de identificación cadena Un token de ID de autenticación de Firebase para el usuario autenticado.
correo electrónico cadena El correo electrónico del usuario autenticado.
actualizarToken cadena Un token de actualización de Firebase Auth para el usuario autenticado.
expira en cadena El número de segundos en los que caduca el token de ID.
ID local cadena El uid del usuario autenticado.
registrado booleano 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 exitosa 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 existe ningún registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.
  • INVALID_PASSWORD: La contraseña no es válida o el usuario no tiene contraseña.
  • USER_DISABLED: la cuenta de usuario ha sido deshabilitada por un administrador.

Iniciar sesión en forma anónima

Puede iniciar sesión como usuario de forma anónima emitiendo una solicitud HTTP POST al punto final Auth signupNewUser .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización. Siempre debería ser verdad.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
token de identificación cadena Un token de ID de autenticación de Firebase para el usuario recién creado.
correo electrónico cadena Dado que el usuario es anónimo, debería estar vacío.
actualizarToken cadena Un token de actualización de Firebase Auth para el usuario recién creado.
expira en cadena El número de segundos en los que caduca el token de ID.
ID local cadena 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 exitosa 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: el inicio de sesión de usuario anónimo está deshabilitado para este proyecto.

Iniciar sesión con credencial OAuth

Puede iniciar sesión como usuario con una credencial OAuth emitiendo una solicitud HTTP POST al punto final verifyAssertion .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
solicitudUri cadena El URI al que el IDP redirige al usuario.
postCuerpo cadena Contiene la credencial OAuth (un token de identificación o token de acceso) y el ID del proveedor que emite la credencial.
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización. Siempre debería ser verdad.
retornoIdpCredential booleano Si se debe forzar la devolución de la credencial OAuth en los siguientes errores: FEDERATED_USER_ID_ALREADY_LINKED y EMAIL_EXISTS.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
ID federado cadena El ID único identifica la cuenta del IdP.
ID de proveedor cadena El ID del proveedor vinculado (por ejemplo, "google.com" para el proveedor de Google).
ID local cadena El uid del usuario autenticado.
Correo Electrónico Verificado booleano Si el correo electrónico de inicio de sesión está verificado.
correo electrónico cadena El correo electrónico de la cuenta.
oauthIdToken cadena El token de identificación de OIDC, si está disponible.
oauthAccessToken cadena El token de acceso de OAuth, si está disponible.
oauthTokenSecret cadena El secreto del token OAuth 1.0, si está disponible.
información de usuario cruda cadena La respuesta JSON en cadena que contiene todos los datos del IdP correspondientes a la credencial OAuth proporcionada.
nombre de pila cadena El primer nombre de la cuenta.
apellido cadena El apellido de la cuenta.
nombre completo cadena El nombre completo de la cuenta.
nombre para mostrar cadena El nombre para mostrar de la cuenta.
URL de la foto cadena La URL de la foto de la cuenta.
token de identificación cadena Un token de ID de autenticación de Firebase para el usuario autenticado.
actualizarToken cadena Un token de actualización de Firebase Auth para el usuario autenticado.
expira en cadena El número de segundos en los que caduca el token de ID.
necesitaConfirmación booleano Si ya existe otra cuenta con la misma credencial. El usuario deberá iniciar sesión en la cuenta original y luego vincularle la credencial actual.

Solicitud de muestra con 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 exitosa 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 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 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 exitosa 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 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 credencial 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}'

Una solicitud exitosa 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 credencial 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\", ...}"
}

Códigos de error comunes

  • OPERATION_NOT_ALLOWED: El proveedor correspondiente está deshabilitado para este proyecto.
  • INVALID_IDP_RESPONSE: la credencial de autenticación proporcionada tiene un formato incorrecto o ha caducado.

Buscar proveedores para correo electrónico

Puede buscar todos los proveedores asociados con un correo electrónico específico emitiendo una solicitud HTTP POST al punto final Auth createAuthUri .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
identificador cadena Dirección de correo electrónico del usuario
continuarUri cadena El URI al que el IDP redirige al usuario. Para este caso de uso, esta es solo la URL actual.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
todos los proveedores Lista de cadenas La lista de proveedores con los que el usuario ha iniciado sesión previamente.
registrado booleano 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 exitosa 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 está mal formateada.

Enviar correo electrónico para restablecer contraseña

Puede enviar un correo electrónico para restablecer la contraseña emitiendo una solicitud HTTP POST al punto final Auth getOobConfirmationCode .

Método: ENVIAR

Tipo de contenido: aplicación/json

Punto final
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Encabezados opcionales
Nombre de la propiedad Descripción
Configuración regional de X-Firebase El código de idioma correspondiente a la configuración regional del usuario. Pasar esto localizará el correo electrónico de restablecimiento de contraseña enviado al usuario.
Solicitar carga útil del cuerpo
Nombre de la propiedad Tipo Descripción
tipo de solicitud cadena El tipo de código OOB que se devolverá. Debe ser "PASSWORD_RESET" para restablecer la contraseña.
correo electrónico cadena Dirección de correo electrónico del usuario.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
correo electrónico cadena 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 exitosa 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 existe ningún registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.

Verificar el código de restablecimiento de contraseña

Puede verificar un código de restablecimiento de contraseña emitiendo una solicitud HTTP POST al punto final Auth resetPassword .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
código oob cadena El código de acción de correo electrónico enviado al correo electrónico del usuario para restablecer la contraseña.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
correo electrónico cadena Dirección de correo electrónico del usuario.
tipo de solicitud cadena Tipo de código de acción de correo electrónico. Debería 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 exitosa 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 inicio de sesión con contraseña está deshabilitado para este proyecto.
  • EXPIRED_OOB_CODE: El código de acción ha caducado.
  • INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, ha caducado o ya se ha utilizado.

Confirmar restablecimiento de contraseña

Puede aplicar un cambio de restablecimiento de contraseña emitiendo una solicitud HTTP POST al punto final Auth resetPassword .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
código oob cadena El código de acción de correo electrónico enviado al correo electrónico del usuario para restablecer la contraseña.
Nueva contraseña cadena La nueva contraseña del usuario.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
correo electrónico cadena Dirección de correo electrónico del usuario.
tipo de solicitud cadena Tipo de código de acción de correo electrónico. Debería 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 exitosa 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 inicio de sesión con contraseña está deshabilitado para este proyecto.
  • EXPIRED_OOB_CODE: El código de acción ha caducado.
  • INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, ha caducado o ya se ha utilizado.
  • USER_DISABLED: la cuenta de usuario ha sido deshabilitada por un administrador.

Cambiar e-mail

Puede cambiar el correo electrónico de un usuario emitiendo una solicitud HTTP POST al punto final Auth setAccountInfo .

Método: ENVIAR

Tipo de contenido: aplicación/json

Encabezados opcionales del terminal
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad Descripción
Configuración regional de X-Firebase El código de idioma correspondiente a la configuración regional del usuario. Pasar esto localizará la revocación del cambio de correo electrónico enviada al usuario.
Solicitar carga útil del cuerpo
Nombre de la propiedad Tipo Descripción
token de identificación cadena Un token de ID de autenticación de Firebase para el usuario.
correo electrónico cadena El nuevo correo electrónico del usuario.
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
ID local cadena El uid del usuario actual.
correo electrónico cadena Dirección de correo electrónico del usuario.
contraseñaHash cadena Versión hash de la contraseña.
proveedorUserInfo Lista de objetos JSON Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId".
token de identificación cadena Nuevo token de ID de autenticación de Firebase para el usuario.
actualizarToken cadena Un token de actualización de Firebase Auth.
expira en cadena El número de segundos en los que caduca 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 exitosa 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 asociados 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 dirección 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 iniciar sesión nuevamente.

Cambiar la contraseña

Puede cambiar la contraseña de un usuario emitiendo una solicitud HTTP POST al punto final Auth setAccountInfo .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
token de identificación cadena Un token de ID de autenticación de Firebase para el usuario.
contraseña cadena Nueva contraseña del usuario.
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
ID local cadena El uid del usuario actual.
correo electrónico cadena Dirección de correo electrónico del usuario.
contraseñaHash cadena Versión hash de la contraseña.
proveedorUserInfo Lista de objetos JSON Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId".
token de identificación cadena Nuevo token de ID de autenticación de Firebase para el usuario.
actualizarToken cadena Un token de actualización de Firebase Auth.
expira en cadena El número de segundos en los que caduca 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 exitosa 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 asociados 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 iniciar sesión nuevamente.
  • WEAK_PASSWORD: la contraseña debe tener 6 caracteres o más.

Actualización del perfil

Puede actualizar el perfil de un usuario (nombre para mostrar/URL de la foto) emitiendo una solicitud HTTP POST al punto final Auth setAccountInfo .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
token de identificación cadena Un token de ID de autenticación de Firebase para el usuario.
nombre para mostrar cadena Nuevo nombre para mostrar del usuario.
URL de la foto cadena Nueva URL de la foto del usuario.
eliminar atributo Lista de cadenas Lista de atributos para eliminar, "DISPLAY_NAME" o "PHOTO_URL". Esto anulará estos valores.
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
ID local cadena El uid del usuario actual.
correo electrónico cadena Dirección de correo electrónico del usuario.
nombre para mostrar cadena Nuevo nombre para mostrar del usuario.
URL de la foto cadena Nueva URL de la foto del usuario.
contraseñaHash cadena Versión hash de la contraseña.
proveedorUserInfo Lista de objetos JSON Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId".
token de identificación cadena Nuevo token de ID de autenticación de Firebase para el usuario.
actualizarToken cadena Un token de actualización de Firebase Auth.
expira en cadena El número de segundos en los que caduca 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 exitosa 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 iniciar sesión nuevamente.

Obtener datos de usuario

Puede obtener los datos de un usuario emitiendo una solicitud HTTP POST al punto final Auth getAccountInfo .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
token de identificación cadena El token de ID de Firebase de la cuenta.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
usuarios Lista de objetos JSON La cuenta asociada con el token de ID de Firebase proporcionado. Consulte a continuación para obtener más detalles.
Carga útil de respuesta (contenido de la matriz users )
Nombre de la propiedad Tipo Descripción
ID local cadena El uid del usuario actual.
correo electrónico cadena El correo electrónico de la cuenta.
Correo Electrónico Verificado booleano Si el correo electrónico de la cuenta ha sido verificado o no.
nombre para mostrar cadena El nombre para mostrar de la cuenta.
proveedorUserInfo Lista de objetos JSON Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId".
URL de la foto cadena La URL de la foto de la cuenta.
contraseñaHash cadena Versión hash de la contraseña.
contraseñaActualizadoEn doble La marca de tiempo, en milisegundos, en la que se cambió por última vez la contraseña de la cuenta.
válido desde cadena La marca de tiempo, en segundos, que marca un límite antes del cual el token de ID de Firebase se considera revocado.
desactivado booleano Si la cuenta está deshabilitada o no.
último inicio de sesión en cadena La marca de tiempo, en milisegundos, en la que la cuenta inició sesión por última vez.
Creado en cadena La marca de tiempo, en milisegundos, en la que se creó la cuenta.
autenticación personalizada booleano Si la cuenta está autenticada por el desarrollador.

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 exitosa 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 iniciar sesión nuevamente.
  • USER_NOT_FOUND: No existe ningún registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.

Puede vincular un correo electrónico/contraseña a un usuario actual emitiendo una solicitud HTTP POST al punto final Auth setAccountInfo .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
token de identificación cadena El token de ID de Firebase de la cuenta a la que intentas vincular la credencial.
correo electrónico cadena El correo electrónico para vincular a la cuenta.
contraseña cadena La nueva contraseña de la cuenta.
retornoSecureToken cadena Si se debe devolver o no un ID y un token de actualización. Siempre debería ser verdad.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
ID local cadena El uid del usuario actual.
correo electrónico cadena El correo electrónico de la cuenta.
nombre para mostrar cadena El nombre para mostrar de la cuenta.
URL de la foto cadena La URL de la foto de la cuenta.
contraseñaHash cadena Versión hash de la contraseña.
proveedorUserInfo Lista de objetos JSON Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId".
Correo Electrónico Verificado booleano Si el correo electrónico de la cuenta ha sido verificado o no.
token de identificación cadena Nuevo token de ID de autenticación de Firebase para el usuario.
actualizarToken cadena Un token de actualización de Firebase Auth.
expira en cadena El número de segundos en los que caduca 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 exitosa 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_AGAIN: La credencial del usuario ya no es válida. El usuario debe iniciar sesión nuevamente.
  • TOKEN_EXPIRED: La credencial del usuario ya no es válida. El usuario debe iniciar sesión nuevamente.
  • INVALID_ID_TOKEN:La credencial del usuario ya no es válida. El usuario debe iniciar sesión nuevamente.
  • WEAK_PASSWORD: la contraseña debe tener 6 caracteres o más.

Puede vincular una credencial OAuth a un usuario emitiendo una solicitud HTTP POST al punto final verifyAssertion .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
token de identificación cadena El token de ID de Firebase de la cuenta a la que intentas vincular la credencial.
solicitudUri cadena El URI al que el IDP redirige al usuario.
postCuerpo cadena Contiene la credencial OAuth (un token de identificación o token de acceso) y el ID del proveedor que emite la credencial.
retornoSecureToken booleano Si se debe devolver o no un ID y un token de actualización. Siempre debería ser verdad.
retornoIdpCredential booleano Si se debe forzar la devolución de la credencial OAuth en los siguientes errores: FEDERATED_USER_ID_ALREADY_LINKED y EMAIL_EXISTS.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
ID federado cadena El ID único identifica la cuenta del IdP.
ID de proveedor cadena El ID del proveedor vinculado (por ejemplo, "google.com" para el proveedor de Google).
ID local cadena El uid del usuario autenticado.
Correo Electrónico Verificado booleano Si el correo electrónico de inicio de sesión está verificado.
correo electrónico cadena El correo electrónico de la cuenta.
oauthIdToken cadena El token de identificación de OIDC, si está disponible.
oauthAccessToken cadena El token de acceso de OAuth, si está disponible.
oauthTokenSecreto cadena El secreto del token OAuth 1.0, si está disponible.
información de usuario cruda cadena La respuesta JSON en cadena que contiene todos los datos del IdP correspondientes a la credencial OAuth proporcionada.
nombre de pila cadena El primer nombre de la cuenta.
apellido cadena El apellido de la cuenta.
nombre completo cadena El nombre completo de la cuenta.
nombre para mostrar cadena El nombre para mostrar de la cuenta.
URL de la foto cadena La URL de la foto de la cuenta.
token de identificación cadena Un token de ID de autenticación de Firebase para el usuario autenticado.
actualizarToken cadena Un token de actualización de Firebase Auth para el usuario autenticado.
expira en cadena El número de segundos en los que caduca el token de ID.

Solicitud de muestra con 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 exitosa 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 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 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 exitosa 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 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 credencial 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}'

Una solicitud exitosa 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 credencial 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\", ...}"
}

Códigos de error comunes

  • OPERATION_NOT_ALLOWED: El proveedor correspondiente está deshabilitado para este proyecto.
  • INVALID_IDP_RESPONSE: la credencial de autenticación proporcionada tiene un formato incorrecto o ha caducado.
  • INVALID_ID_TOKEN:La credencial del usuario ya no es válida. El usuario debe iniciar sesión nuevamente.
  • EMAIL_EXISTS: la dirección de correo electrónico ya está en uso en otra cuenta.
  • FEDERATED_USER_ID_ALREADY_LINKED: esta credencial ya está asociada con una cuenta de usuario diferente.

Puede desvincular un proveedor de un usuario actual emitiendo una solicitud HTTP POST al punto final Auth setAccountInfo .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
token de identificación cadena El token de ID de Firebase de la cuenta.
eliminarProveedor Lista de cadenas La lista de ID de proveedores para desvincular, por ejemplo: 'google.com', 'contraseña', etc.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
ID local cadena El uid del usuario actual.
correo electrónico cadena El correo electrónico de la cuenta.
nombre para mostrar cadena El nombre para mostrar de la cuenta.
URL de la foto cadena La URL de la foto de la cuenta.
contraseñaHash cadena Versión hash de la contraseña.
proveedorUserInfo Lista de objetos JSON Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId".
Correo Electrónico Verificado booleano Si el correo electrónico de la cuenta ha sido verificado o no.

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 exitosa 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 iniciar sesión nuevamente.

Enviar verificación por correo electrónico

Puede enviar una verificación por correo electrónico para el usuario actual emitiendo una solicitud HTTP POST al punto final Auth getOobConfirmationCode .

Método: ENVIAR

Tipo de contenido: aplicación/json

Encabezados opcionales del terminal
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nombre de la propiedad Descripción
Configuración regional de X-Firebase El código de idioma correspondiente a la configuración regional del usuario. Pasar esto localizará la verificación por correo electrónico enviada al usuario.
Solicitar carga útil del cuerpo
Nombre de la propiedad Tipo Descripción
tipo de solicitud cadena El tipo de código de confirmación a enviar. Siempre debe ser "VERIFY_EMAIL".
token de identificación cadena El token de ID de Firebase del usuario que se va a verificar.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
correo electrónico cadena 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 exitosa 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 iniciar sesión nuevamente.
  • USER_NOT_FOUND: No existe ningún registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.

Confirmar la verificación por correo electrónico

Puede confirmar un código de verificación de correo electrónico emitiendo una solicitud HTTP POST al punto final Auth setAccountInfo .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
código oob cadena El código de acción enviado al correo electrónico del usuario para su verificación por correo electrónico.
Carga útil de respuesta
Nombre de la propiedad Tipo Descripción
correo electrónico cadena El correo electrónico de la cuenta.
nombre para mostrar cadena El nombre para mostrar de la cuenta.
URL de la foto cadena La URL de la foto de la cuenta.
contraseñaHash cadena El hash de la contraseña.
proveedorUserInfo Lista de objetos JSON Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId".
Correo Electrónico Verificado booleano Si el correo electrónico de la cuenta ha sido verificado o no.

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 exitosa 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 ha caducado.
  • INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, ha caducado o ya se ha utilizado.
  • USER_DISABLED: la cuenta de usuario ha sido deshabilitada por un administrador.
  • EMAIL_NOT_FOUND: No existe ningún registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.

Borrar cuenta

Puede eliminar un usuario actual emitiendo una solicitud HTTP POST al punto final Auth deleteAccount .

Método: ENVIAR

Tipo de contenido: aplicación/json

Carga útil del cuerpo de solicitud del punto final
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Nombre de la propiedad Tipo Descripción
token de identificación cadena El token de ID de Firebase del usuario que se va a eliminar.
Carga útil de 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 exitosa 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 iniciar sesión nuevamente.
  • USER_NOT_FOUND: No existe ningún registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.

Emulador de autenticación de Firebase

Firebase Local Emulator Suite incluye un emulador de autenticación , que se puede utilizar para la creación de prototipos locales y pruebas de flujos de autenticación. El emulador expone los siguientes puntos finales REST.

Borrar cuentas de usuario

Elimine todas las cuentas del proyecto especificado, independientemente del estado.

Método: BORRAR

Punto final

Tenga en cuenta que 9099 es el puerto predeterminado para el emulador de autenticación. Verifique la salida del terminal para conocer el puerto real que se está utilizando.

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

Obtener configuración del emulador

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

Método: OBTENER

Punto final

Tenga en cuenta que 9099 es el puerto predeterminado para el emulador de autenticación. Verifique la salida del terminal para conocer el puerto real que se está utilizando.

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

Configuración del emulador de parches

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

Método: PARCHE

Punto final

Tenga en cuenta que 9099 es el puerto predeterminado para el emulador de autenticación. Verifique la salida del terminal para conocer el puerto real que se está utilizando.

Tipo de contenido: aplicación/json

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

Recuperar códigos de autenticación fuera de banda

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

Método: OBTENER

Punto final

Tenga en cuenta que 9099 es el puerto predeterminado para el emulador de autenticación. Verifique la salida del terminal para conocer el puerto real que se está utilizando.

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

Recuperar códigos de verificación por SMS

Si está probando flujos de autenticación de teléfono/SMS, el emulador almacena dichos códigos SMS internamente hasta que se utilizan.

Método: OBTENER

Punto final

Tenga en cuenta que 9099 es el puerto predeterminado para el emulador de autenticación. Verifique la salida del terminal para conocer el puerto real que se está utilizando.

Carga útil de respuesta
http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Nombre de la propiedad Tipo Descripción
códigos de verificación formación Una serie de objetos que contienen 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 desde el servidor backend para cualquiera de las API 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 se refieren al contenido del campo del mensaje.