API REST de autenticación de Firebase

Uso de la API

Puede consultar el backend de Firebase Auth a través de una API REST. Esto se puede usar para varias 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.

Intercambiar token personalizado por una identificación y token de actualización

Puede intercambiar un token de autenticación personalizado por un identificador y un token de actualización mediante la emisión de una solicitud HTTP POST al punto de verifyCustomToken .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
simbólico cuerda Un token personalizado de Firebase Auth a partir del cual crear un ID y un par de tokens de actualización.
volverSecureToken booleano Si devolver o no un ID y un token de actualización. Siempre debe ser cierto.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
idtoken cuerda Un token de ID de autenticación de Firebase generado a partir del token personalizado proporcionado.
RefreshToken cuerda Un token de actualización de Firebase Auth generado a partir del token personalizado proporcionado.
expira en cuerda 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 asociado con el token personalizado.

Ejemplo de respuesta

{
  "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 (p. ej., caducó, 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 ID

Puede actualizar un token de ID de Firebase mediante la emisión de una solicitud HTTP POST al extremo de securetoken.googleapis.com .

Método: POST

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

Endpoint
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
subvención_tipo cuerda El tipo de concesión del token de actualización, siempre "refresh_token".
actualizar_token cuerda Un token de actualización de Firebase Auth.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
expira en cuerda El número de segundos en los que caduca el token de ID.
token_type cuerda El tipo del token de actualización, siempre "Bearer".
actualizar_token cuerda El token de actualización de Firebase Auth proporcionado en la solicitud o un nuevo token de actualización.
id_token cuerda Un token de ID de autenticación de Firebase.
id_usuario cuerda El uid correspondiente al token de ID proporcionado.
Projecto ID cuerda 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.

Ejemplo de respuesta

{
  "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 de nuevo.
  • 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.
  • La clave API no es válida. Pase una clave de API válida. (clave de API proporcionada no válida)
  • INVALID_REFRESH_TOKEN: se proporcionó un token de actualización no válido.
  • Carga útil JSON no válida recibida. Nombre desconocido \"refresh_tokens\": no se puede vincular el parámetro de consulta. El campo 'refresh_tokens' no se pudo encontrar en el mensaje de solicitud.
  • INVALID_GRANT_TYPE: el tipo de concesión especificado no es válido.
  • MISSING_REFRESH_TOKEN: no se proporcionó token de actualización.

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

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

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
Email cuerda El correo electrónico para que el usuario cree.
contraseña cuerda La contraseña para que el usuario cree.
volverSecureToken booleano Si devolver o no un ID y un token de actualización. Siempre debe ser cierto.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
idtoken cuerda Un token de ID de autenticación de Firebase para el usuario recién creado.
Email cuerda El correo electrónico para el usuario recién creado.
RefreshToken cuerda Un token de actualización de Firebase Auth para el usuario recién creado.
expira en cuerda El número de segundos en los que caduca el token de ID.
ID local cuerda 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.

Ejemplo de respuesta

{
  "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 por 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 actividad inusual. Vuelva a intentarlo más tarde.

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

Puede iniciar la sesión de un usuario con un correo electrónico y una contraseña mediante la emisión de una solicitud HTTP POST al punto de conexión de verifyPassword de contraseña de Auth.

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
Email cuerda El correo electrónico con el que el usuario está iniciando sesión.
contraseña cuerda La contraseña para la cuenta.
volverSecureToken booleano Si devolver o no un ID y un token de actualización. Siempre debe ser cierto.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
idtoken cuerda Un token de ID de autenticación de Firebase para el usuario autenticado.
Email cuerda El correo electrónico del usuario autenticado.
RefreshToken cuerda Un token de actualización de Firebase Auth para el usuario autenticado.
expira en cuerda El número de segundos en los que caduca el token de ID.
ID local cuerda 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.

Ejemplo de respuesta

{
  "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 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 la sesión de un usuario de forma anónima mediante la emisión de una solicitud HTTP POST al extremo Auth signupNewUser .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
volverSecureToken booleano Si devolver o no un ID y un token de actualización. Siempre debe ser cierto.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
idtoken cuerda Un token de ID de autenticación de Firebase para el usuario recién creado.
Email cuerda Dado que el usuario es anónimo, debe estar vacío.
RefreshToken cuerda Un token de actualización de Firebase Auth para el usuario recién creado.
expira en cuerda El número de segundos en los que caduca el token de ID.
ID local cuerda 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.

Ejemplo de respuesta

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

Inicie sesión con la credencial de OAuth

Puede iniciar la sesión de un usuario con una credencial de OAuth emitiendo una solicitud HTTP POST al punto de conexión de verificación de verifyAssertion de Auth.

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
solicitudUri cuerda El URI al que el IDP redirige al usuario.
postCuerpo cuerda Contiene la credencial de OAuth (un token de ID o un token de acceso) y el ID del proveedor que emite la credencial.
volverSecureToken booleano Si devolver o no un ID y un token de actualización. Siempre debe ser cierto.
returnIdpCredential booleano Si 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 Escribe Descripción
Idfederado cuerda La identificación única identifica la cuenta de IdP.
ID de proveedor cuerda El ID del proveedor vinculado (por ejemplo, "google.com" para el proveedor de Google).
ID local cuerda El uid del usuario autenticado.
Correo verificado booleano Si el correo electrónico de inicio de sesión está verificado.
Email cuerda El correo electrónico de la cuenta.
oauthIdToken cuerda El token de identificación de OIDC, si está disponible.
oauthAccessToken cuerda El token de acceso de OAuth, si está disponible.
oauthTokenSecret cuerda El secreto del token de OAuth 1.0, si está disponible.
rawUserInfo cuerda La respuesta JSON en cadena que contiene todos los datos de IdP correspondientes a la credencial de OAuth proporcionada.
primer nombre cuerda El primer nombre de la cuenta.
apellido cuerda El apellido de la cuenta.
nombre completo cuerda El nombre completo de la cuenta.
nombre para mostrar cuerda El nombre para mostrar de la cuenta.
URL de la foto cuerda La URL de la foto de la cuenta.
idtoken cuerda Un token de ID de autenticación de Firebase para el usuario autenticado.
RefreshToken cuerda Un token de actualización de Firebase Auth para el usuario autenticado.
expira en cuerda El número de segundos en los que caduca el token de ID.
necesidadConfirmación booleano Si ya existe otra cuenta con la misma credencial. El usuario deberá iniciar sesión en la cuenta original y luego vincular 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.

Ejemplo de respuesta 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\", ...}"
}

Ejemplo de solicitud 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.

Ejemplo de respuesta con token de acceso 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\", ...}"
}

Ejemplo de solicitud con la 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.

Ejemplo de respuesta con la 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.

Obtener 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: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
identificador cuerda Dirección de correo electrónico del usuario
continuarUri cuerda 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 Escribe Descripción
todos los proveedores Lista de cadenas La lista de proveedores con los que el usuario ha iniciado sesión anteriormente.
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.

Ejemplo de respuesta

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

Códigos de error comunes

  • INVALID_EMAIL: la dirección de correo electrónico tiene un formato incorrecto.

Enviar correo electrónico de restablecimiento de contraseña

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

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Encabezados opcionales
Nombre de la propiedad Descripción
X-Firebase-Configuración regional 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.
Solicitud de carga útil del cuerpo
Nombre de la propiedad Escribe Descripción
tipo de solicitud cuerda El tipo de código OOB a devolver. Debe ser "PASSWORD_RESET" para restablecer la contraseña.
Email cuerda Dirección de correo electrónico del usuario.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
Email cuerda 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 .

Ejemplo de respuesta

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

Códigos de error comunes

  • EMAIL_NOT_FOUND: No existe 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 extremo de Auth resetPassword .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
código oob cuerda 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 Escribe Descripción
Email cuerda Dirección de correo electrónico del usuario.
tipo de solicitud cuerda Tipo del código de acción del 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 .

Ejemplo de respuesta

{
  "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, venció o ya se usó.

Confirmar restablecimiento de contraseña

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

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
código oob cuerda 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 cuerda La nueva contraseña del usuario.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
Email cuerda Dirección de correo electrónico del usuario.
tipo de solicitud cuerda Tipo del código de acción del 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 .

Ejemplo de respuesta

{
  "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, venció o ya se usó.
  • 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 extremo de Auth setAccountInfo .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Encabezados opcionales
Nombre de la propiedad Descripción
X-Firebase-Configuración regional 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.
Solicitud de carga útil del cuerpo
Nombre de la propiedad Escribe Descripción
idtoken cuerda Un token de ID de autenticación de Firebase para el usuario.
Email cuerda El nuevo correo electrónico del usuario.
volverSecureToken booleano Si devolver o no un ID y un token de actualización.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
ID local cuerda El uid del usuario actual.
Email cuerda Dirección de correo electrónico del usuario.
contraseñaHash cuerda 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".
idtoken cuerda Nuevo token de ID de autenticación de Firebase para el usuario.
RefreshToken cuerda Un token de actualización de Firebase Auth.
expira en cuerda 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 asociado con el usuario.

Ejemplo de respuesta

{
  "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 por otra cuenta.
  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.

Cambia la contraseña

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

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
idtoken cuerda Un token de ID de autenticación de Firebase para el usuario.
contraseña cuerda Nueva contraseña del usuario.
volverSecureToken booleano Si devolver o no un ID y un token de actualización.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
ID local cuerda El uid del usuario actual.
Email cuerda Dirección de correo electrónico del usuario.
contraseñaHash cuerda 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".
idtoken cuerda Nuevo token de ID de autenticación de Firebase para el usuario.
RefreshToken cuerda Un token de actualización de Firebase Auth.
expira en cuerda 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 asociado con el usuario.

Ejemplo de respuesta

{
  "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 de nuevo.
  • 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 extremo de Auth setAccountInfo .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
idtoken cuerda Un token de ID de autenticación de Firebase para el usuario.
nombre para mostrar cuerda Nuevo nombre para mostrar del usuario.
URL de la foto cuerda URL de la nueva foto del usuario.
deleteAttribute Lista de cadenas Lista de atributos para eliminar, "DISPLAY_NAME" o "PHOTO_URL". Esto anulará estos valores.
volverSecureToken booleano Si devolver o no un ID y un token de actualización.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
ID local cuerda El uid del usuario actual.
Email cuerda Dirección de correo electrónico del usuario.
nombre para mostrar cuerda Nuevo nombre para mostrar del usuario.
URL de la foto cuerda URL de la nueva foto del usuario.
contraseñaHash cuerda 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".
idtoken cuerda Nuevo token de ID de autenticación de Firebase para el usuario.
RefreshToken cuerda Un token de actualización de Firebase Auth.
expira en cuerda 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 .

Ejemplo de respuesta

{
  "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 de nuevo.

Obtener datos de usuario

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

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
idtoken cuerda El token de ID de Firebase de la cuenta.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
usuarios Lista de objetos JSON La cuenta asociada con el token de ID de Firebase dado. Consulte a continuación para obtener más detalles.
Carga útil de respuesta (contenido de matriz de users )
Nombre de la propiedad Escribe Descripción
ID local cuerda El uid del usuario actual.
Email cuerda El correo electrónico de la cuenta.
Correo verificado booleano Si se ha verificado o no el correo electrónico de la cuenta.
nombre para mostrar cuerda 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 cuerda La URL de la foto de la cuenta.
contraseñaHash cuerda Versión hash de la contraseña.
contraseña Actualizado en doble La marca de tiempo, en milisegundos, de la última modificación de la contraseña de la cuenta.
válidoDesde cuerda La marca de tiempo, en segundos, que marca un límite antes del cual el token de ID de Firebase se considera revocado.
discapacitado booleano Si la cuenta está deshabilitada o no.
último inicio de sesión en cuerda La marca de tiempo, en milisegundos, en la que la cuenta inició sesión por última vez.
Creado en cuerda 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.

Ejemplo de respuesta

{
  "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 de nuevo.
  • USER_NOT_FOUND: No existe 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 mediante la emisión de una solicitud HTTP POST al punto final Auth setAccountInfo .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
idtoken cuerda El token de ID de Firebase de la cuenta a la que está intentando vincular la credencial.
Email cuerda El correo electrónico para vincular a la cuenta.
contraseña cuerda La nueva contraseña de la cuenta.
volverSecureToken cuerda Si devolver o no un ID y un token de actualización. Siempre debe ser cierto.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
ID local cuerda El uid del usuario actual.
Email cuerda El correo electrónico de la cuenta.
nombre para mostrar cuerda El nombre para mostrar de la cuenta.
URL de la foto cuerda La URL de la foto de la cuenta.
contraseñaHash cuerda 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 verificado booleano Si se ha verificado o no el correo electrónico de la cuenta.
idtoken cuerda Nuevo token de ID de autenticación de Firebase para el usuario.
RefreshToken cuerda Un token de actualización de Firebase Auth.
expira en cuerda 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.

Ejemplo de respuesta

{
  "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 de nuevo.
  • TOKEN_EXPIRED: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
  • INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
  • WEAK_PASSWORD: La contraseña debe tener 6 caracteres o más.

Puede vincular una credencial de OAuth a un usuario mediante la emisión de una solicitud HTTP POST al punto de conexión de verificación de verifyAssertion de Auth.

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
idtoken cuerda El token de ID de Firebase de la cuenta a la que está intentando vincular la credencial.
solicitudUri cuerda El URI al que el IDP redirige al usuario.
postCuerpo cuerda Contiene la credencial de OAuth (un token de ID o un token de acceso) y el ID del proveedor que emite la credencial.
volverSecureToken booleano Si devolver o no un ID y un token de actualización. Siempre debe ser cierto.
returnIdpCredential booleano Si 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 Escribe Descripción
Idfederado cuerda La identificación única identifica la cuenta de IdP.
ID de proveedor cuerda El ID del proveedor vinculado (por ejemplo, "google.com" para el proveedor de Google).
ID local cuerda El uid del usuario autenticado.
Correo verificado booleano Si el correo electrónico de inicio de sesión está verificado.
Email cuerda El correo electrónico de la cuenta.
oauthIdToken cuerda El token de identificación de OIDC, si está disponible.
oauthAccessToken cuerda El token de acceso de OAuth, si está disponible.
oauthTokenSecret cuerda El secreto del token de OAuth 1.0, si está disponible.
rawUserInfo cuerda La respuesta JSON en cadena que contiene todos los datos de IdP correspondientes a la credencial de OAuth proporcionada.
primer nombre cuerda El primer nombre de la cuenta.
apellido cuerda El apellido de la cuenta.
nombre completo cuerda El nombre completo de la cuenta.
nombre para mostrar cuerda El nombre para mostrar de la cuenta.
URL de la foto cuerda La URL de la foto de la cuenta.
idtoken cuerda Un token de ID de autenticación de Firebase para el usuario autenticado.
RefreshToken cuerda Un token de actualización de Firebase Auth para el usuario autenticado.
expira en cuerda 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.

Ejemplo de respuesta 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\", ...}"
}

Ejemplo de solicitud 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.

Ejemplo de respuesta con token de acceso 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\", ...}"
}

Ejemplo de solicitud con la 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.

Ejemplo de respuesta con la 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 de nuevo.
  • EMAIL_EXISTS: la dirección de correo electrónico ya está en uso por 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 de Auth setAccountInfo .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
idtoken cuerda 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 Escribe Descripción
ID local cuerda El uid del usuario actual.
Email cuerda El correo electrónico de la cuenta.
nombre para mostrar cuerda El nombre para mostrar de la cuenta.
URL de la foto cuerda La URL de la foto de la cuenta.
contraseñaHash cuerda 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 verificado booleano Si se ha verificado o no 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 exitosa se indica mediante un código de estado HTTP 200 OK .

Ejemplo de respuesta

{
  "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 de nuevo.

Enviar verificación de correo electrónico

Puede enviar una verificación por correo electrónico para el usuario actual mediante la emisión de una solicitud HTTP POST al extremo de Auth getOobConfirmationCode .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Encabezados opcionales
Nombre de la propiedad Descripción
X-Firebase-Configuración regional El código de idioma correspondiente a la configuración regional del usuario. Pasar esto localizará la verificación de correo electrónico enviada al usuario.
Solicitud de carga útil del cuerpo
Nombre de la propiedad Escribe Descripción
tipo de solicitud cuerda El tipo de código de confirmación a enviar. Siempre debe ser "VERIFY_EMAIL".
idtoken cuerda El token de ID de Firebase del usuario para verificar.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
Email cuerda 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 .

Ejemplo de respuesta

{
  "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 de nuevo.
  • USER_NOT_FOUND: No existe registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.

Confirmar verificación de correo electrónico

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

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
código oob cuerda El código de acción enviado al correo electrónico del usuario para la verificación del correo electrónico.
Carga útil de respuesta
Nombre de la propiedad Escribe Descripción
Email cuerda El correo electrónico de la cuenta.
nombre para mostrar cuerda El nombre para mostrar de la cuenta.
URL de la foto cuerda La URL de la foto de la cuenta.
contraseñaHash cuerda 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 verificado booleano Si se ha verificado o no 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 exitosa se indica mediante un código de estado HTTP 200 OK .

Ejemplo de respuesta

{
  "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, venció o ya se usó.
  • USER_DISABLED: La cuenta de usuario ha sido deshabilitada por un administrador.
  • EMAIL_NOT_FOUND: No existe 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 de Auth deleteAccount .

Método: POST

Tipo de contenido: aplicación/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Carga útil del cuerpo de la solicitud
Nombre de la propiedad Escribe Descripción
idtoken cuerda El token de ID de Firebase del usuario que se va a eliminar.
Carga útil de respuesta
Nombre de la propiedad Escribe 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 de nuevo.
  • USER_NOT_FOUND: No existe registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.

Firebase Authentication Emulator

The Firebase Local Emulator Suite includes an Authentication emulator , which can be used for local prototyping and testing of authentication flows. The emulator exposes the following REST endpoints.

Clear user accounts

Remove all accounts in the specified project, regardless of state.

Method: DELETE

Endpoint

Note that 9099 is the default port for the Authentication emulator. Check terminal output for the actual port being used.

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

Get emulator configuration

Get emulator-specific configuration for the specified project.

Method: GET

Endpoint

Note that 9099 is the default port for the Authentication emulator. Check terminal output for the actual port being used.

http://localhost:9099/emulator/v1/projects/{project-id}/config
Response Payload
Property Name Escribe Descripción
signIn object signIn configuration object containing a single key, allowDuplicateEmails (boolean).

Patch emulator configuration

Update emulator-specific configuration for the specified project.

Method: PATCH

Endpoint

Note that 9099 is the default port for the Authentication emulator. Check terminal output for the actual port being used.

Content-Type: application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Request Body Payload
Property Name Escribe Descripción
signIn object Desired signIn configuration object with single key, allowDuplicateEmails (boolean).
Response Payload
Property Name Escribe Descripción
signIn object Post-request signIn configuration object with single key, allowDuplicateEmails (boolean).

Retrieve out-of-band authentication codes

If the authentication flows you are testing would normally generate out-of-band codes (eg, email verification codes, password reset codes), the emulator stores such codes internally until they are used.

Method: GET

Endpoint

Note that 9099 is the default port for the Authentication emulator. Check terminal output for the actual port being used.

http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Response Payload
Property Name Escribe Descripción
oobCodes array An array of objects containing details of all pending confirmation codes. Each object contains email (string), oobCode (string), oobLink (string), and requestType (string)

Retrieve SMS verification codes

If you are testing phone/SMS authentication flows, the emulator stores such SMS codes internally until they are used.

Method: GET

Endpoint

Note that 9099 is the default port for the Authentication emulator. Check terminal output for the actual port being used.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Response Payload
Property Name Escribe Descripción
verificationCodes array An array of objects containing details of all pending verification codes. Each object contains phoneNumber (string) and sessionCode (string).

Error Response

Error response format

Anytime an error is returned from the backend server for any of the APIs above, the response will have the following format.

Sample response

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

The error code is obtained from the message field. All of the above error codes refer to the message field content.