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 finalhttps://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. |
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 finalhttps://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. |
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.
- PROJECT_NUMBER_MISMATCH: el número de proyecto del token de actualización no coincide con el de la clave API proporcionada.
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 finalhttps://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. |
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 finalhttps://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. |
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 finalhttps://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. |
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 finalhttps://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. |
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 finalhttps://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. |
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 finalhttps://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. |
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. |
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 finalhttps://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. |
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 finalhttps://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. |
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 terminalhttps://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. |
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. |
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 finalhttps://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. |
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 finalhttps://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. |
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 finalhttps://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. |
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. |
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.
Enlace con correo electrónico/contraseña
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 finalhttps://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. |
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.
Enlace con credencial OAuth
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 finalhttps://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. |
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. |
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.
Desvincular proveedor
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 finalhttps://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. |
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 terminalhttps://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. |
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. |
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 finalhttps://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. |
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 finalhttps://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. |
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.
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}/configCarga ú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). |
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.
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.
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.