Uso de API
Puedes consultar el backend de Firebase Auth a través de una API de REST. Esto se puede usar para diversas operaciones, como crear nuevos usuarios, acceder a los existentes y editar o eliminar estos usuarios.
En este documento, API_KEY
hace referencia a la clave de API web,
que se puede obtener en la
configuración del proyecto
en la Consola del administrador.
Intercambia un token personalizado por un ID y un token de actualización
Puedes intercambiar un token de Auth personalizado por un ID y un token de actualización mediante una solicitud HTTP POST
al extremo verifyCustomToken
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
token | string | Un token personalizado de Firebase Auth a partir del cual se crea un ID y un par de tokens de actualización. |
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | Un token de ID de Firebase Auth generado a partir del token personalizado proporcionado. |
refreshToken | string | Un token de actualización de Firebase Auth generado a partir del token personalizado proporcionado. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con el token personalizado.
Respuesta de muestra
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- INVALID_CUSTOM_TOKEN: el formato del token personalizado es incorrecto o el token no es válido por algún motivo (por ejemplo, vencido, firma no válida, etc.)
- CREDENTIAL_MISMATCH: el token personalizado corresponde a un proyecto de Firebase diferente.
Intercambia un token de actualización por un token de ID
Para actualizar un token de ID de Firebase, emite una solicitud HTTP
Solicitud POST
al extremo securetoken.googleapis.com
.
Método: POST
Tipo de contenido: application/x-www-form-urlencoded
Extremohttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
grant_type | string | El tipo de concesión del token de actualización, siempre "refresh_token" |
refresh_token | string | Un token de actualización de Firebase Auth. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
expires_in | string | La cantidad de segundos en los que vence el token de ID. |
token_type | string | El tipo de token de actualización, siempre "Portador" |
refresh_token | string | El token de actualización de Firebase Auth proporcionado en la solicitud o un token de actualización nuevo. |
id_token | string | Un token de ID de Firebase Auth. |
user_id | string | El uid correspondiente al token de ID proporcionado |
project_id | string | El ID del proyecto de Firebase. |
Solicitud de muestra
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID y el token de actualización nuevos de Firebase.
Respuesta de muestra
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
Códigos de error comunes
- TOKEN_EXPIRED: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- USER_DISABLED: Un administrador inhabilitó la cuenta de usuario.
- USER_NOT_FOUND: No se encontró el usuario que corresponde al token de actualización. Es probable que se haya borrado el usuario.
- La clave de API no es válida. Pasa una clave de API válida. (se proporcionó una clave de API no válida)
- INVALID_REFRESH_TOKEN: Se proporcionó un token de actualización no válido.
- Se recibió una carga útil de JSON no válido. Nombre “refresh_tokens\” desconocido: No se puede vincular el parámetro de consulta. No se pudo encontrar el campo “refresh_tokens” en el mensaje de solicitud.
- INVALID_GRANT_TYPE: El tipo de otorgamiento especificado no es válido.
- MISSING_REFRESH_TOKEN: No se proporcionó ningún token de actualización.
- PROJECT_NUMBER_MISMATCH: el número de proyecto del token de actualización no coincide con el de la clave de API proporcionada.
Regístrate con correo electrónico / contraseña
Puedes crear un nuevo usuario de correo electrónico y contraseña mediante una solicitud HTTP POST
al extremo signupNewUser
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
string | El correo electrónico que creará el usuario. | |
contraseña | string | La contraseña que creará el usuario. |
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | Un token de ID de Firebase Auth para el usuario recién creado. |
correo electrónico | string | El correo electrónico del usuario recién creado. |
refreshToken | string | Un token de actualización de Firebase Auth para el usuario recién creado. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
localId | string | El uid del usuario recién creado. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con la cuenta nueva.
Respuesta de muestra
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
Códigos de error comunes
- EMAIL_EXISTS: La cuenta de correo electrónico ya está en uso en otra cuenta.
- OPERATION_NOT_ALLOWED: el acceso con contraseña está inhabilitado para este proyecto.
- TOO_MANY_ATTEMPTS_TRY_LATER: bloqueamos todas las solicitudes de este dispositivo debido a actividades inusuales. Vuelve a intentarlo más tarde.
Accede con correo electrónico / contraseña
Puedes acceder a un usuario con un correo electrónico y una contraseña mediante una solicitud HTTP POST
al extremo verifyPassword
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
string | El correo electrónico con el que accede el usuario. | |
contraseña | string | La contraseña de la cuenta. |
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | Un token de ID de Firebase Auth para el usuario autenticado. |
correo electrónico | string | El correo electrónico del usuario autenticado |
refreshToken | string | Un token de actualización de Firebase Auth para el usuario autenticado. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
localId | string | El uid del usuario autenticado. |
registered | boolean | Indica si el correo electrónico es para una cuenta existente. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con la cuenta de correo electrónico/contraseña existente.
Respuesta de muestra
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- EMAIL_NOT_FOUND: No hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.
- INVALID_PASSWORD: la contraseña no es válida o el usuario no tiene una contraseña.
- USER_DISABLED: Un administrador inhabilitó la cuenta de usuario.
Accede de manera anónima
Para permitir que un usuario acceda de forma anónima, ejecuta una solicitud POST
HTTP al extremo signupNewUser
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | Un token de ID de Firebase Auth para el usuario recién creado. |
correo electrónico | string | Como el usuario es anónimo, debería estar vacío. |
refreshToken | string | Un token de actualización de Firebase Auth para el usuario recién creado. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
localId | string | El uid del usuario recién creado. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con el usuario anónimo.
Respuesta de muestra
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: se inhabilita el acceso del usuario anónimo para este proyecto.
Accede con credencial de OAuth
Puedes hacer que un usuario con una credencial de OAuth emita una solicitud HTTP POST
al extremo verifyAssertion
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
requestUri | string | El URI al que el IDP redirecciona al usuario. |
postBody | string | Contiene la credencial de OAuth (un token de ID o token de acceso) y el ID del proveedor que emite la credencial. |
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero. |
returnIdpCredential | boolean | Indica si se debe forzar el retorno de la credencial de OAuth en los siguientes errores: FEDERATED_USER_ID_ALREADY_LINKED y EMAIL_EXISTS. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
federatedId | string | El ID único identifica la cuenta de IdP. |
providerId | string | El ID del proveedor vinculado (como "google.com" para el proveedor de Google). |
localId | string | El uid del usuario autenticado. |
emailVerified | boolean | Si el correo electrónico de acceso está verificado. |
string | El correo electrónico de la cuenta. | |
oauthIdToken | string | El token de id de OIDC (si está disponible). |
oauthAccessToken | string | El token de acceso de OAuth (si está disponible). |
oauthTokenSecret | string | El secreto de token de OAuth 1.0 (si está disponible). |
rawUserInfo | string | La respuesta JSON en string que contiene todos los datos de IdP correspondientes a la credencial de OAuth proporcionada. |
firstName | string | El nombre de la cuenta. |
lastName | string | El apellido de la cuenta. |
fullName | string | El nombre completo de la cuenta. |
displayName | string | El nombre visible de la cuenta. |
photoUrl | string | La URL de foto de la cuenta. |
idToken | string | Un token de ID de Firebase Auth para el usuario autenticado. |
refreshToken | string | Un token de actualización de Firebase Auth para el usuario autenticado. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
needConfirmation | boolean | Indica si ya existe otra cuenta con la misma credencial. El usuario deberá acceder a la cuenta original y, luego, vincularla con la credencial actual. |
Solicitud de muestra con un token de ID de OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con el usuario autenticado.
Respuesta de ejemplo con un token de ID de OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Solicitud de muestra con token de acceso de OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con el usuario autenticado.
Respuesta de ejemplo con un token de acceso de OAuth
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Solicitud de muestra con la credencial de OAuth 1.0 de Twitter
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con el usuario autenticado.
Respuesta de ejemplo con la credencial OAuth 1.0 de Twitter
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: El proveedor correspondiente está inhabilitado para este proyecto.
- INVALID_IDP_RESPONSE: La credencial de auth proporcionada tiene un formato incorrecto o caducó.
Obtener proveedores por correo electrónico
Puedes buscar todos los proveedores asociados a un correo electrónico especificado mediante la emisión de una solicitud HTTP POST
al extremo createAuthUri
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
identifier | string | Dirección de correo electrónico del usuario |
continueUri | string | El URI al que el IDP redirecciona al usuario. Para este caso práctico, es solo la URL actual. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
allProviders | Lista de strings | La lista de proveedores con los que el usuario accedió antes. |
registered | boolean | Indica si el correo electrónico es para una cuenta existente. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene la lista de proveedores asociados con el correo electrónico.
Respuesta de muestra
{ "allProviders": [ "password", "google.com" ], "registered": true }
Códigos de error comunes
- INVALID_EMAIL: la dirección de correo electrónico tiene un formato no válido.
Envía un correo electrónico de restablecimiento de contraseña
Puedes enviar un correo electrónico de restablecimiento de contraseña mediante una solicitud POST
HTTP al extremo getOobConfirmationCode
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nombre de la propiedad | Descripción |
---|---|
X-Firebase-Locale | El código de lenguaje correspondiente a la configuración regional del usuario. Pasar esto localizará el correo electrónico de restablecimiento de contraseña que se envió al usuario. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
requestType | string | El tipo de código OOB que se mostrará. Debe ser "PASSWORD_RESET" para restablecer la contraseña. |
string | Dirección de correo electrónico del usuario. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
string | Dirección de correo electrónico del usuario. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
.
Respuesta de muestra
{ "email": "[user@example.com]" }
Códigos de error comunes
- EMAIL_NOT_FOUND: No hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.
Verificar el código de restablecimiento de contraseña
Para verificar un código de restablecimiento de contraseña, envía una solicitud HTTP POST
al extremo resetPassword
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
oobCode | string | El código de acción de correo electrónico que se envió al correo electrónico del usuario para restablecer la contraseña. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
string | Dirección de correo electrónico del usuario. | |
requestType | string | Tipo de código de acción de correo electrónico. Debe ser “PASSWORD_RESET”. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
.
Respuesta de muestra
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: el acceso con contraseña está inhabilitado para este proyecto.
- EXPIRED_OOB_CODE: el código de acción caducó.
- INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, caducó o ya se usó.
Confirmar restablecimiento de contraseña
Puedes aplicar un cambio de restablecimiento de contraseña mediante una solicitud HTTP POST
al extremo resetPassword
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
oobCode | string | El código de acción de correo electrónico que se envió al correo electrónico del usuario para restablecer la contraseña. |
newPassword | string | La nueva contraseña del usuario. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
string | Dirección de correo electrónico del usuario. | |
requestType | string | Tipo de código de acción de correo electrónico. Debe ser “PASSWORD_RESET”. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
.
Respuesta de muestra
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: el acceso con contraseña está inhabilitado para este proyecto.
- EXPIRED_OOB_CODE: el código de acción caducó.
- INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, caducó o ya se usó.
- USER_DISABLED: Un administrador inhabilitó la cuenta de usuario.
Cambiar el correo electrónico
Para cambiar el correo electrónico de un usuario, envía una solicitud HTTP POST
al extremo setAccountInfo
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad | Descripción |
---|---|
X-Firebase-Locale | El código de lenguaje correspondiente a la configuración regional del usuario. Pasar esto localizará la revocación de cambios de correo electrónico que se envió al usuario. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | Un token de ID de Firebase Auth para el usuario. |
correo electrónico | string | El correo electrónico nuevo del usuario. |
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
localId | string | El uid del usuario actual. |
string | Dirección de correo electrónico del usuario. | |
passwordHash | string | Versión hash de la contraseña. |
providerUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”. |
idToken | string | Nuevo token de ID de Firebase Auth para el usuario. |
refreshToken | string | Un token de actualización de Firebase Auth. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el nuevo token de ID de Firebase y el token de actualización asociado
con el usuario.
Respuesta de muestra
{ "localId": "tRcfmLH7o2...", "email": "[user@example2.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example2.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- EMAIL_EXISTS: La cuenta de correo electrónico ya está en uso en otra cuenta.
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
Cambiar contraseña
Para cambiar el correo electrónico de un usuario, envía una solicitud HTTP POST
al extremo setAccountInfo
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | Un token de ID de Firebase Auth para el usuario. |
contraseña | string | La nueva contraseña del usuario. |
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
localId | string | El uid del usuario actual. |
string | Dirección de correo electrónico del usuario. | |
passwordHash | string | Versión de hash de la contraseña. |
providerUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”. |
idToken | string | Nuevo token de ID de Firebase Auth para el usuario. |
refreshToken | string | Un token de actualización de Firebase Auth. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el nuevo token de ID de Firebase y el token de actualización asociado
con el usuario.
Respuesta de muestra
{ "localId": "tRcfmLH7o2...", "email": "[user@example.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- WEAK_PASSWORD: La contraseña debe tener 6 caracteres o más.
Actualizar perfil
Para actualizar el perfil de un usuario (nombre visible / URL de foto), emite una solicitud HTTP POST
al extremo setAccountInfo
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | Un token de ID de Firebase Auth para el usuario. |
displayName | string | Nombre visible nuevo del usuario. |
photoUrl | string | La nueva URL de foto del usuario. |
deleteAttribute | Lista de strings | Lista de atributos para borrar, “DISPLAY_NAME” o “PHOTO_URL”. Esto anulará estos valores. |
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
localId | string | El uid del usuario actual. |
string | Dirección de correo electrónico del usuario. | |
displayName | string | Nombre visible nuevo del usuario. |
photoUrl | string | La nueva URL de foto del usuario. |
passwordHash | string | Versión de hash de la contraseña. |
providerUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”. |
idToken | string | Nuevo token de ID de Firebase Auth para el usuario. |
refreshToken | string | Un token de actualización de Firebase Auth. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
.
Respuesta de muestra
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
Obtener datos del usuario
Para obtener los datos del usuario, envía una solicitud HTTP POST
al extremo getAccountInfo
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | El token de ID de Firebase de la cuenta. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
users | Lista de objetos JSON | La cuenta asociada con el token de ID de Firebase determinado. Consulta la siguiente información para obtener más detalles. |
users
)Nombre de la propiedad | Tipo | Descripción |
---|---|---|
localId | string | El uid del usuario actual. |
string | El correo electrónico de la cuenta. | |
emailVerified | boolean | Indica si se verificó el correo electrónico de la cuenta. |
displayName | string | El nombre visible de la cuenta. |
providerUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”. |
photoUrl | string | La URL de foto de la cuenta. |
passwordHash | string | Versión de hash de la contraseña. |
passwordUpdatedAt | double | Es la marca de tiempo, en milisegundos, en que se modificó la contraseña de la cuenta por última vez. |
validSince | string | La marca de tiempo, en segundos, que marca un límite, antes de la cual el token de ID de Firebase se considera revocado. |
inhabilitado | boolean | Si la cuenta está inhabilitada o no. |
lastLoginAt | string | La marca de tiempo, en milisegundos, en la que se accedió a la cuenta por última vez. |
createdAt | string | La marca de tiempo, en milisegundos, en la que se creó la cuenta. |
customAuth | boolean | Si el desarrollador autentica la cuenta. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contendrá toda la información del usuario asociada con la cuenta.
Respuesta de muestra
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- EMAIL_NOT_FOUND: no hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.
Vincula con correo electrónico/contraseña
Puedes vincular un correo electrónico y contraseña con un usuario actual mediante una solicitud HTTP POST
al extremo setAccountInfo
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | El token de ID de Firebase de la cuenta con la que intentas vincular la credencial. |
correo electrónico | string | El correo electrónico a vincular con la cuenta. |
contraseña | string | La contraseña nueva de la cuenta. |
returnSecureToken | string | Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
localId | string | El uid del usuario actual. |
string | El correo electrónico de la cuenta. | |
displayName | string | El nombre visible de la cuenta. |
photoUrl | string | La URL de foto de la cuenta. |
passwordHash | string | Versión de hash de la contraseña. |
providerUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”. |
emailVerified | boolean | Indica si se verificó el correo electrónico de la cuenta. |
idToken | string | Nuevo token de ID de Firebase Auth para el usuario. |
refreshToken | string | Un token de actualización de Firebase Auth. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el
usuario autenticado.
Respuesta de muestra
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
Códigos de error comunes
- CREDENTIAL_TOO_OLD_LOGIN_ANY: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- TOKEN_EXPIRED: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- WEAK_PASSWORD: La contraseña debe tener 6 caracteres o más.
Vincular con credencial de OAuth
Para vincular una credencial de OAuth a un usuario, envía una solicitud HTTP POST
al extremo verifyAssertion
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | El token de ID de Firebase de la cuenta con la que intentas vincular la credencial. |
requestUri | string | El URI al que el IDP redirecciona al usuario. |
postBody | string | Contiene la credencial de OAuth (un token de ID o token de acceso) y el ID del proveedor que emite la credencial. |
returnSecureToken | boolean | Indica si se debe mostrar o no un ID y un token de actualización. Siempre debe ser verdadero. |
returnIdpCredential | boolean | Indica si se debe forzar el retorno de la credencial de OAuth en los siguientes errores: FEDERATED_USER_ID_ALREADY_LINKED y EMAIL_EXISTS. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
federatedId | string | El ID único identifica la cuenta de IdP. |
providerId | string | El ID del proveedor vinculado (como "google.com" para el proveedor de Google). |
localId | string | El uid del usuario autenticado. |
emailVerified | boolean | Si el correo electrónico de acceso está verificado. |
string | El correo electrónico de la cuenta. | |
oauthIdToken | string | El token de id de OIDC (si está disponible). |
oauthAccessToken | string | El token de acceso de OAuth (si está disponible). |
oauthTokenSecret | string | El secreto de token de OAuth 1.0 (si está disponible). |
rawUserInfo | string | La respuesta JSON en string que contiene todos los datos de IdP correspondientes a la credencial de OAuth proporcionada. |
firstName | string | El nombre de la cuenta. |
lastName | string | El apellido de la cuenta. |
fullName | string | El nombre completo de la cuenta. |
displayName | string | El nombre visible de la cuenta. |
photoUrl | string | La URL de foto de la cuenta. |
idToken | string | Un token de ID de Firebase Auth para el usuario autenticado. |
refreshToken | string | Un token de actualización de Firebase Auth para el usuario autenticado. |
expiresIn | string | La cantidad de segundos en los que vence el token de ID. |
Solicitud de muestra con un token de ID de OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con el usuario autenticado.
Respuesta de ejemplo con un token de ID de OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Solicitud de muestra con token de acceso de OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con el usuario autenticado.
Respuesta de ejemplo con un token de acceso de OAuth
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Solicitud de muestra con la credencial de OAuth 1.0 de Twitter
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados
con el usuario autenticado.
Respuesta de ejemplo con la credencial OAuth 1.0 de Twitter
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: El proveedor correspondiente está inhabilitado para este proyecto.
- INVALID_IDP_RESPONSE: La credencial de auth proporcionada tiene un formato incorrecto o caducó.
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- EMAIL_EXISTS: La cuenta de correo electrónico ya está en uso en otra cuenta.
- FEDERATED_USER_ID_ALREADY_LINKED: esta credencial ya está asociada a una cuenta de usuario diferente.
Desvincular proveedor
Puedes desvincular un proveedor de un usuario actual mediante la emisión de una solicitud POST
HTTP al extremo setAccountInfo
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | El token de ID de Firebase de la cuenta. |
deleteProvider | Lista de strings | La lista de ID de proveedores que se desvincularán, p. ej., “google.com”, “contraseña”, etcétera. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
localId | string | El uid del usuario actual. |
string | El correo electrónico de la cuenta. | |
displayName | string | El nombre visible de la cuenta. |
photoUrl | string | La URL de foto de la cuenta. |
passwordHash | string | Versión hash de la contraseña. |
providerUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”. |
emailVerified | boolean | Indica si se verificó el correo electrónico de la cuenta. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
.
Respuesta de muestra
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
Envía una verificación por correo electrónico
Puedes enviar una verificación por correo electrónico para el usuario actual si envías una solicitud HTTP POST
al extremo getOobConfirmationCode
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nombre de la propiedad | Descripción |
---|---|
X-Firebase-Locale | El código de lenguaje correspondiente a la configuración regional del usuario. Pasar esto localizará la verificación por correo electrónico que se envió al usuario. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
requestType | string | El tipo de código de confirmación que se enviará. Siempre debe ser “VERIFY_EMAIL”. |
idToken | string | El token de ID de Firebase del usuario que se debe verificar. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
string | El correo electrónico de la cuenta. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
.
Respuesta de muestra
{ "email": "user@example.com" }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- EMAIL_NOT_FOUND: no hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.
Confirma la verificación por correo electrónico
Para confirmar un código de verificación por correo electrónico, envía una solicitud HTTP POST
al extremo setAccountInfo
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
oobCode | string | El código de acción que se envía al correo electrónico del usuario para su verificación. |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
string | El correo electrónico de la cuenta. | |
displayName | string | El nombre visible de la cuenta. |
photoUrl | string | La URL de foto de la cuenta. |
passwordHash | string | El hash de la contraseña. |
providerUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedores vinculados que contienen “providerId” y “federatedId”. |
emailVerified | boolean | Indica si se verificó el correo electrónico de la cuenta. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
.
Respuesta de muestra
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Códigos de error comunes
- EXPIRED_OOB_CODE: el código de acción caducó.
- INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, caducó o ya se usó.
- USER_DISABLED: Un administrador inhabilitó la cuenta de usuario.
- EMAIL_NOT_FOUND: No hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.
Borrar cuenta
Puedes borrar un usuario actual mediante la emisión de una solicitud HTTP POST
al extremo deleteAccount
de Auth.
Método: POST
Tipo de contenido application/json
Extremohttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
idToken | string | El token de ID de Firebase del usuario que se borrará. |
Nombre de la propiedad | Tipo | Descripción |
---|
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Una solicitud correcta se indica mediante un código de estado HTTP 200 OK
.
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe volver a acceder.
- EMAIL_NOT_FOUND: no hay ningún registro de usuario que corresponda a este identificador. Es posible que se haya borrado el usuario.
Emulador de Firebase Authentication
Firebase Local Emulator Suite incluye un emulador de Authentication, que se puede usar para el prototipado local y las pruebas de flujos de autenticación. El emulador expone el siguiente REST en los extremos.
Borrar cuentas de usuario
Quita todas las cuentas del proyecto especificado, sin importar el estado.
Método: DELETE
Extremo
Ten en cuenta que 9099
es el puerto predeterminado para el emulador de Authentication. Comprobar terminal
salida del puerto real que se usa.
http://localhost:9099/emulator/v1/projects/{project-id}/accounts
Cómo obtener la configuración del emulador
Obtén la configuración específica del emulador para el proyecto especificado.
Método: GET
Extremo
Ten en cuenta que 9099
es el puerto predeterminado para el emulador de Authentication. Comprobar terminal
salida del puerto real que se usa.
http://localhost:9099/emulator/v1/projects/{project-id}/config
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
Acceder | objeto | Un objeto de configuración de signIn que contiene una sola clave, allowDuplicateEmails (booleano). |
Cómo aplicar parches a la configuración del emulador
Actualiza la configuración específica del emulador para el proyecto especificado.
Método: PATCH
Extremo
Ten en cuenta que 9099
es el puerto predeterminado para el emulador de Authentication. Comprobar terminal
salida del puerto real que se usa.
Tipo de contenido application/json
http://localhost:9099/emulator/v1/projects/{project-id}/config
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
Acceder | objeto | Objeto de configuración de acceso deseado con una sola clave, allowDuplicateEmails (booleano). |
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
Acceder | objeto | Objeto de configuración de acceso a la solicitud posterior con una clave única, allowDuplicateEmails (booleano). |
Recupera códigos de autenticación fuera de banda
Si los flujos de autenticación que estás probando normalmente generarían códigos fuera de banda (p.ej., códigos de verificación por correo electrónico o códigos de restablecimiento de contraseña), el emulador almacena dichos códigos internamente hasta que y cómo se usan.
Método: GET
Extremo
Ten en cuenta que 9099
es el puerto predeterminado para el emulador de Authentication. Comprobar terminal
salida del puerto real que se usa.
http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
Códigos oob | array | Un array de objetos que contiene detalles de todos los códigos de confirmación pendientes.
Cada objeto contiene email (cadena), oobCode (cadena),
oobLink (cadena) y requestType (cadena) |
Recupera códigos de verificación por SMS
Si estás probando los flujos de autenticación por teléfono o SMS, el emulador almacena esos códigos SMS de forma interna. hasta que se usen.
Método: GET
Extremo
Ten en cuenta que 9099
es el puerto predeterminado para el emulador de Authentication. Comprobar terminal
salida del puerto real que se usa.
http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Nombre de la propiedad | Tipo | Descripción |
---|---|---|
Códigos de verificación | array | Un array de objetos que contiene detalles de todos los códigos de verificación pendientes.
Cada objeto contiene phoneNumber (cadena) y sessionCode (cadena). |
Respuesta de error
Formato de respuesta de error
Cada vez que se devuelve un error del servidor de backend para cualquiera de las APIs anteriores, la respuesta tendrá el siguiente formato.
Respuesta de muestra
{ "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } ], "code": 400, "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } }
El código de error se obtiene del campo de mensaje. Todos los códigos de error anteriores hacen referencia a la contenido del campo de mensaje.