Uso de la API
Puede consultar el backend de Firebase Auth a través de una API REST. Esto se puede usar para varias operaciones, como crear nuevos usuarios, iniciar sesión en los existentes y editar o eliminar estos usuarios.
A lo largo de este documento, API_KEY
se refiere a la clave API web, que se puede obtener en la página de configuración del proyecto en su consola de administración.
Intercambiar token personalizado por una identificación y token de actualización
Puede intercambiar un token de autenticación personalizado por un identificador y un token de actualización mediante la emisión de una solicitud HTTP POST
al punto de verifyCustomToken
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
simbólico | cuerda | Un token personalizado de Firebase Auth a partir del cual crear un ID y un par de tokens de actualización. |
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. Siempre debe ser cierto. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | Un token de ID de autenticación de Firebase generado a partir del token personalizado proporcionado. |
RefreshToken | cuerda | Un token de actualización de Firebase Auth generado a partir del token personalizado proporcionado. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociado con el token personalizado.
Ejemplo de respuesta
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- INVALID_CUSTOM_TOKEN: el formato del token personalizado es incorrecto o el token no es válido por algún motivo (p. ej., caducó, firma no válida, etc.)
- CREDENTIAL_MISMATCH: el token personalizado corresponde a un proyecto de Firebase diferente.
Intercambiar un token de actualización por un token de ID
Puede actualizar un token de ID de Firebase mediante la emisión de una solicitud HTTP POST
al extremo de securetoken.googleapis.com
.
Método: POST
Tipo de contenido: application/x-www-form-urlencoded
Endpointhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
subvención_tipo | cuerda | El tipo de concesión del token de actualización, siempre "refresh_token". |
actualizar_token | cuerda | Un token de actualización de Firebase Auth. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
token_type | cuerda | El tipo del token de actualización, siempre "Bearer". |
actualizar_token | cuerda | El token de actualización de Firebase Auth proporcionado en la solicitud o un nuevo token de actualización. |
id_token | cuerda | Un token de ID de autenticación de Firebase. |
id_usuario | cuerda | El uid correspondiente al token de ID proporcionado. |
Projecto ID | cuerda | Su ID de proyecto de Firebase. |
Solicitud de muestra
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el nuevo token de ID de Firebase y el token de actualización.
Ejemplo de respuesta
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
Códigos de error comunes
- TOKEN_EXPIRED: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- USER_DISABLED: La cuenta de usuario ha sido deshabilitada por un administrador.
- USER_NOT_FOUND: No se encontró el usuario correspondiente al token de actualización. Es probable que el usuario haya sido eliminado.
- La clave API no es válida. Pase una clave de API válida. (clave de API proporcionada no válida)
- INVALID_REFRESH_TOKEN: se proporcionó un token de actualización no válido.
- Carga útil JSON no válida recibida. Nombre desconocido \"refresh_tokens\": no se puede vincular el parámetro de consulta. El campo 'refresh_tokens' no se pudo encontrar en el mensaje de solicitud.
- INVALID_GRANT_TYPE: el tipo de concesión especificado no es válido.
- MISSING_REFRESH_TOKEN: no se proporcionó token de actualización.
Regístrese con correo electrónico / contraseña
Puede crear un nuevo usuario de correo electrónico y contraseña mediante la emisión de una solicitud HTTP POST
al punto final Auth signupNewUser
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
cuerda | El correo electrónico para que el usuario cree. | |
contraseña | cuerda | La contraseña para que el usuario cree. |
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. Siempre debe ser cierto. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | Un token de ID de autenticación de Firebase para el usuario recién creado. |
cuerda | El correo electrónico para el usuario recién creado. | |
RefreshToken | cuerda | Un token de actualización de Firebase Auth para el usuario recién creado. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
ID local | cuerda | El uid del usuario recién creado. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con la nueva cuenta.
Ejemplo de respuesta
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
Códigos de error comunes
- EMAIL_EXISTS: la dirección de correo electrónico ya está en uso por otra cuenta.
- OPERATION_NOT_ALLOWED: el inicio de sesión con contraseña está deshabilitado para este proyecto.
- TOO_MANY_ATTEMPTS_TRY_LATER: Hemos bloqueado todas las solicitudes de este dispositivo debido a actividad inusual. Vuelva a intentarlo más tarde.
Iniciar sesión con correo electrónico / contraseña
Puede iniciar la sesión de un usuario con un correo electrónico y una contraseña mediante la emisión de una solicitud HTTP POST
al punto de conexión de verifyPassword
de contraseña de Auth.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
cuerda | El correo electrónico con el que el usuario está iniciando sesión. | |
contraseña | cuerda | La contraseña para la cuenta. |
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. Siempre debe ser cierto. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | Un token de ID de autenticación de Firebase para el usuario autenticado. |
cuerda | El correo electrónico del usuario autenticado. | |
RefreshToken | cuerda | Un token de actualización de Firebase Auth para el usuario autenticado. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
ID local | cuerda | El uid del usuario autenticado. |
registrado | booleano | Si el correo electrónico es para una cuenta existente. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con la cuenta de correo electrónico/contraseña existente.
Ejemplo de respuesta
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- EMAIL_NOT_FOUND: No existe registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.
- INVALID_PASSWORD: La contraseña no es válida o el usuario no tiene contraseña.
- USER_DISABLED: La cuenta de usuario ha sido deshabilitada por un administrador.
Iniciar sesión en forma anónima
Puede iniciar la sesión de un usuario de forma anónima mediante la emisión de una solicitud HTTP POST
al extremo Auth signupNewUser
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. Siempre debe ser cierto. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | Un token de ID de autenticación de Firebase para el usuario recién creado. |
cuerda | Dado que el usuario es anónimo, debe estar vacío. | |
RefreshToken | cuerda | Un token de actualización de Firebase Auth para el usuario recién creado. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
ID local | cuerda | El uid del usuario recién creado. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario anónimo.
Ejemplo de respuesta
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: el inicio de sesión de usuario anónimo está deshabilitado para este proyecto.
Inicie sesión con la credencial de OAuth
Puede iniciar la sesión de un usuario con una credencial de OAuth emitiendo una solicitud HTTP POST
al punto de conexión de verificación de verifyAssertion
de Auth.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
solicitudUri | cuerda | El URI al que el IDP redirige al usuario. |
postCuerpo | cuerda | Contiene la credencial de OAuth (un token de ID o un token de acceso) y el ID del proveedor que emite la credencial. |
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. Siempre debe ser cierto. |
returnIdpCredential | booleano | Si forzar la devolución de la credencial OAuth en los siguientes errores: FEDERATED_USER_ID_ALREADY_LINKED y EMAIL_EXISTS. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
Idfederado | cuerda | La identificación única identifica la cuenta de IdP. |
ID de proveedor | cuerda | El ID del proveedor vinculado (por ejemplo, "google.com" para el proveedor de Google). |
ID local | cuerda | El uid del usuario autenticado. |
Correo verificado | booleano | Si el correo electrónico de inicio de sesión está verificado. |
cuerda | El correo electrónico de la cuenta. | |
oauthIdToken | cuerda | El token de identificación de OIDC, si está disponible. |
oauthAccessToken | cuerda | El token de acceso de OAuth, si está disponible. |
oauthTokenSecret | cuerda | El secreto del token de OAuth 1.0, si está disponible. |
rawUserInfo | cuerda | La respuesta JSON en cadena que contiene todos los datos de IdP correspondientes a la credencial de OAuth proporcionada. |
primer nombre | cuerda | El primer nombre de la cuenta. |
apellido | cuerda | El apellido de la cuenta. |
nombre completo | cuerda | El nombre completo de la cuenta. |
nombre para mostrar | cuerda | El nombre para mostrar de la cuenta. |
URL de la foto | cuerda | La URL de la foto de la cuenta. |
idtoken | cuerda | Un token de ID de autenticación de Firebase para el usuario autenticado. |
RefreshToken | cuerda | Un token de actualización de Firebase Auth para el usuario autenticado. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
necesidadConfirmación | booleano | Si ya existe otra cuenta con la misma credencial. El usuario deberá iniciar sesión en la cuenta original y luego vincular la credencial actual. |
Solicitud de muestra con token de ID de OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.
Ejemplo de respuesta con token de ID de OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Ejemplo de solicitud con token de acceso OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.
Ejemplo de respuesta con token de acceso OAuth
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Ejemplo de solicitud con la credencial Twitter OAuth 1.0
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.
Ejemplo de respuesta con la credencial Twitter OAuth 1.0
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: el proveedor correspondiente está deshabilitado para este proyecto.
- INVALID_IDP_RESPONSE: la credencial de autenticación proporcionada tiene un formato incorrecto o ha caducado.
Obtener proveedores para correo electrónico
Puede buscar todos los proveedores asociados con un correo electrónico específico emitiendo una solicitud HTTP POST
al punto final Auth createAuthUri
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
identificador | cuerda | Dirección de correo electrónico del usuario |
continuarUri | cuerda | El URI al que el IDP redirige al usuario. Para este caso de uso, esta es solo la URL actual. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
todos los proveedores | Lista de cadenas | La lista de proveedores con los que el usuario ha iniciado sesión anteriormente. |
registrado | booleano | Si el correo electrónico es para una cuenta existente |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene la lista de proveedores asociados con el correo electrónico.
Ejemplo de respuesta
{ "allProviders": [ "password", "google.com" ], "registered": true }
Códigos de error comunes
- INVALID_EMAIL: la dirección de correo electrónico tiene un formato incorrecto.
Enviar correo electrónico de restablecimiento de contraseña
Puede enviar un correo electrónico de restablecimiento de contraseña emitiendo una solicitud HTTP POST
al extremo de Auth getOobConfirmationCode
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]Encabezados opcionales
Nombre de la propiedad | Descripción |
---|---|
X-Firebase-Configuración regional | El código de idioma correspondiente a la configuración regional del usuario. Pasar esto localizará el correo electrónico de restablecimiento de contraseña enviado al usuario. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
tipo de solicitud | cuerda | El tipo de código OOB a devolver. Debe ser "PASSWORD_RESET" para restablecer la contraseña. |
cuerda | Dirección de correo electrónico del usuario. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
cuerda | Dirección de correo electrónico del usuario. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
.
Ejemplo de respuesta
{ "email": "[user@example.com]" }
Códigos de error comunes
- EMAIL_NOT_FOUND: No existe registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.
Verificar el código de restablecimiento de contraseña
Puede verificar un código de restablecimiento de contraseña emitiendo una solicitud HTTP POST
al extremo de Auth resetPassword
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
código oob | cuerda | El código de acción de correo electrónico enviado al correo electrónico del usuario para restablecer la contraseña. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
cuerda | Dirección de correo electrónico del usuario. | |
tipo de solicitud | cuerda | Tipo del código de acción del correo electrónico. Debería ser "PASSWORD_RESET". |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
.
Ejemplo de respuesta
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: el inicio de sesión con contraseña está deshabilitado para este proyecto.
- EXPIRED_OOB_CODE: El código de acción ha caducado.
- INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, venció o ya se usó.
Confirmar restablecimiento de contraseña
Puede aplicar un cambio de restablecimiento de contraseña emitiendo una solicitud HTTP POST
al extremo de Auth resetPassword
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
código oob | cuerda | El código de acción de correo electrónico enviado al correo electrónico del usuario para restablecer la contraseña. |
Nueva contraseña | cuerda | La nueva contraseña del usuario. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
cuerda | Dirección de correo electrónico del usuario. | |
tipo de solicitud | cuerda | Tipo del código de acción del correo electrónico. Debería ser "PASSWORD_RESET". |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
.
Ejemplo de respuesta
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: el inicio de sesión con contraseña está deshabilitado para este proyecto.
- EXPIRED_OOB_CODE: El código de acción ha caducado.
- INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, venció o ya se usó.
- USER_DISABLED: La cuenta de usuario ha sido deshabilitada por un administrador.
Cambiar e-mail
Puede cambiar el correo electrónico de un usuario emitiendo una solicitud HTTP POST
al extremo de Auth setAccountInfo
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Encabezados opcionales
Nombre de la propiedad | Descripción |
---|---|
X-Firebase-Configuración regional | El código de idioma correspondiente a la configuración regional del usuario. Pasar esto localizará la revocación del cambio de correo electrónico enviada al usuario. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | Un token de ID de autenticación de Firebase para el usuario. |
cuerda | El nuevo correo electrónico del usuario. | |
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
ID local | cuerda | El uid del usuario actual. |
cuerda | Dirección de correo electrónico del usuario. | |
contraseñaHash | cuerda | Versión hash de la contraseña. |
proveedorUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId". |
idtoken | cuerda | Nuevo token de ID de autenticación de Firebase para el usuario. |
RefreshToken | cuerda | Un token de actualización de Firebase Auth. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el nuevo token de ID de Firebase y el token de actualización asociado con el usuario.
Ejemplo de respuesta
{ "localId": "tRcfmLH7o2...", "email": "[user@example2.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example2.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- EMAIL_EXISTS: la dirección de correo electrónico ya está en uso por otra cuenta.
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
Cambia la contraseña
Puede cambiar la contraseña de un usuario emitiendo una solicitud HTTP POST
al extremo de Auth setAccountInfo
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | Un token de ID de autenticación de Firebase para el usuario. |
contraseña | cuerda | Nueva contraseña del usuario. |
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
ID local | cuerda | El uid del usuario actual. |
cuerda | Dirección de correo electrónico del usuario. | |
contraseñaHash | cuerda | Versión hash de la contraseña. |
proveedorUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId". |
idtoken | cuerda | Nuevo token de ID de autenticación de Firebase para el usuario. |
RefreshToken | cuerda | Un token de actualización de Firebase Auth. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el nuevo token de ID de Firebase y el token de actualización asociado con el usuario.
Ejemplo de respuesta
{ "localId": "tRcfmLH7o2...", "email": "[user@example.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- WEAK_PASSWORD: La contraseña debe tener 6 caracteres o más.
Actualización del perfil
Puede actualizar el perfil de un usuario (nombre para mostrar/URL de la foto) emitiendo una solicitud HTTP POST
al extremo de Auth setAccountInfo
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | Un token de ID de autenticación de Firebase para el usuario. |
nombre para mostrar | cuerda | Nuevo nombre para mostrar del usuario. |
URL de la foto | cuerda | URL de la nueva foto del usuario. |
deleteAttribute | Lista de cadenas | Lista de atributos para eliminar, "DISPLAY_NAME" o "PHOTO_URL". Esto anulará estos valores. |
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
ID local | cuerda | El uid del usuario actual. |
cuerda | Dirección de correo electrónico del usuario. | |
nombre para mostrar | cuerda | Nuevo nombre para mostrar del usuario. |
URL de la foto | cuerda | URL de la nueva foto del usuario. |
contraseñaHash | cuerda | Versión hash de la contraseña. |
proveedorUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId". |
idtoken | cuerda | Nuevo token de ID de autenticación de Firebase para el usuario. |
RefreshToken | cuerda | Un token de actualización de Firebase Auth. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
.
Ejemplo de respuesta
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
Obtener datos de usuario
Puede obtener los datos de un usuario emitiendo una solicitud HTTP POST
al punto final Auth getAccountInfo
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | El token de ID de Firebase de la cuenta. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
usuarios | Lista de objetos JSON | La cuenta asociada con el token de ID de Firebase dado. Consulte a continuación para obtener más detalles. |
users
)Nombre de la propiedad | Escribe | Descripción |
---|---|---|
ID local | cuerda | El uid del usuario actual. |
cuerda | El correo electrónico de la cuenta. | |
Correo verificado | booleano | Si se ha verificado o no el correo electrónico de la cuenta. |
nombre para mostrar | cuerda | El nombre para mostrar de la cuenta. |
proveedorUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId". |
URL de la foto | cuerda | La URL de la foto de la cuenta. |
contraseñaHash | cuerda | Versión hash de la contraseña. |
contraseña Actualizado en | doble | La marca de tiempo, en milisegundos, de la última modificación de la contraseña de la cuenta. |
válidoDesde | cuerda | La marca de tiempo, en segundos, que marca un límite antes del cual el token de ID de Firebase se considera revocado. |
discapacitado | booleano | Si la cuenta está deshabilitada o no. |
último inicio de sesión en | cuerda | La marca de tiempo, en milisegundos, en la que la cuenta inició sesión por última vez. |
Creado en | cuerda | La marca de tiempo, en milisegundos, en la que se creó la cuenta. |
autenticación personalizada | booleano | Si la cuenta está autenticada por el desarrollador. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contendrá toda la información del usuario asociada con la cuenta.
Ejemplo de respuesta
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- USER_NOT_FOUND: No existe registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.
Enlace con correo electrónico/contraseña
Puede vincular un correo electrónico/contraseña a un usuario actual mediante la emisión de una solicitud HTTP POST
al punto final Auth setAccountInfo
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | El token de ID de Firebase de la cuenta a la que está intentando vincular la credencial. |
cuerda | El correo electrónico para vincular a la cuenta. | |
contraseña | cuerda | La nueva contraseña de la cuenta. |
volverSecureToken | cuerda | Si devolver o no un ID y un token de actualización. Siempre debe ser cierto. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
ID local | cuerda | El uid del usuario actual. |
cuerda | El correo electrónico de la cuenta. | |
nombre para mostrar | cuerda | El nombre para mostrar de la cuenta. |
URL de la foto | cuerda | La URL de la foto de la cuenta. |
contraseñaHash | cuerda | Versión hash de la contraseña. |
proveedorUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId". |
Correo verificado | booleano | Si se ha verificado o no el correo electrónico de la cuenta. |
idtoken | cuerda | Nuevo token de ID de autenticación de Firebase para el usuario. |
RefreshToken | cuerda | Un token de actualización de Firebase Auth. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.
Ejemplo de respuesta
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
Códigos de error comunes
- CREDENTIAL_TOO_OLD_LOGIN_AGAIN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- TOKEN_EXPIRED: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- WEAK_PASSWORD: La contraseña debe tener 6 caracteres o más.
Enlace con credencial OAuth
Puede vincular una credencial de OAuth a un usuario mediante la emisión de una solicitud HTTP POST
al punto de conexión de verificación de verifyAssertion
de Auth.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | El token de ID de Firebase de la cuenta a la que está intentando vincular la credencial. |
solicitudUri | cuerda | El URI al que el IDP redirige al usuario. |
postCuerpo | cuerda | Contiene la credencial de OAuth (un token de ID o un token de acceso) y el ID del proveedor que emite la credencial. |
volverSecureToken | booleano | Si devolver o no un ID y un token de actualización. Siempre debe ser cierto. |
returnIdpCredential | booleano | Si forzar la devolución de la credencial OAuth en los siguientes errores: FEDERATED_USER_ID_ALREADY_LINKED y EMAIL_EXISTS. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
Idfederado | cuerda | La identificación única identifica la cuenta de IdP. |
ID de proveedor | cuerda | El ID del proveedor vinculado (por ejemplo, "google.com" para el proveedor de Google). |
ID local | cuerda | El uid del usuario autenticado. |
Correo verificado | booleano | Si el correo electrónico de inicio de sesión está verificado. |
cuerda | El correo electrónico de la cuenta. | |
oauthIdToken | cuerda | El token de identificación de OIDC, si está disponible. |
oauthAccessToken | cuerda | El token de acceso de OAuth, si está disponible. |
oauthTokenSecret | cuerda | El secreto del token de OAuth 1.0, si está disponible. |
rawUserInfo | cuerda | La respuesta JSON en cadena que contiene todos los datos de IdP correspondientes a la credencial de OAuth proporcionada. |
primer nombre | cuerda | El primer nombre de la cuenta. |
apellido | cuerda | El apellido de la cuenta. |
nombre completo | cuerda | El nombre completo de la cuenta. |
nombre para mostrar | cuerda | El nombre para mostrar de la cuenta. |
URL de la foto | cuerda | La URL de la foto de la cuenta. |
idtoken | cuerda | Un token de ID de autenticación de Firebase para el usuario autenticado. |
RefreshToken | cuerda | Un token de actualización de Firebase Auth para el usuario autenticado. |
expira en | cuerda | El número de segundos en los que caduca el token de ID. |
Solicitud de muestra con token de ID de OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.
Ejemplo de respuesta con token de ID de OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Ejemplo de solicitud con token de acceso OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.
Ejemplo de respuesta con token de acceso OAuth
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Ejemplo de solicitud con la credencial Twitter OAuth 1.0
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
. La respuesta contiene el token de ID de Firebase y el token de actualización asociados con el usuario autenticado.
Ejemplo de respuesta con la credencial Twitter OAuth 1.0
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Códigos de error comunes
- OPERATION_NOT_ALLOWED: el proveedor correspondiente está deshabilitado para este proyecto.
- INVALID_IDP_RESPONSE: la credencial de autenticación proporcionada tiene un formato incorrecto o ha caducado.
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- EMAIL_EXISTS: la dirección de correo electrónico ya está en uso por otra cuenta.
- FEDERATED_USER_ID_ALREADY_LINKED: esta credencial ya está asociada con una cuenta de usuario diferente.
Desvincular proveedor
Puede desvincular un proveedor de un usuario actual emitiendo una solicitud HTTP POST
al punto final de Auth setAccountInfo
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | El token de ID de Firebase de la cuenta. |
eliminarProveedor | Lista de cadenas | La lista de ID de proveedores para desvincular, por ejemplo: 'google.com', 'contraseña', etc. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
ID local | cuerda | El uid del usuario actual. |
cuerda | El correo electrónico de la cuenta. | |
nombre para mostrar | cuerda | El nombre para mostrar de la cuenta. |
URL de la foto | cuerda | La URL de la foto de la cuenta. |
contraseñaHash | cuerda | Versión hash de la contraseña. |
proveedorUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId". |
Correo verificado | booleano | Si se ha verificado o no el correo electrónico de la cuenta. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
.
Ejemplo de respuesta
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
Enviar verificación de correo electrónico
Puede enviar una verificación por correo electrónico para el usuario actual mediante la emisión de una solicitud HTTP POST
al extremo de Auth getOobConfirmationCode
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]Encabezados opcionales
Nombre de la propiedad | Descripción |
---|---|
X-Firebase-Configuración regional | El código de idioma correspondiente a la configuración regional del usuario. Pasar esto localizará la verificación de correo electrónico enviada al usuario. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
tipo de solicitud | cuerda | El tipo de código de confirmación a enviar. Siempre debe ser "VERIFY_EMAIL". |
idtoken | cuerda | El token de ID de Firebase del usuario para verificar. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
cuerda | El correo electrónico de la cuenta. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
.
Ejemplo de respuesta
{ "email": "user@example.com" }
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- USER_NOT_FOUND: No existe registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.
Confirmar verificación de correo electrónico
Puede confirmar un código de verificación de correo electrónico emitiendo una solicitud HTTP POST
al extremo de Auth setAccountInfo
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
código oob | cuerda | El código de acción enviado al correo electrónico del usuario para la verificación del correo electrónico. |
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
cuerda | El correo electrónico de la cuenta. | |
nombre para mostrar | cuerda | El nombre para mostrar de la cuenta. |
URL de la foto | cuerda | La URL de la foto de la cuenta. |
contraseñaHash | cuerda | El hash de la contraseña. |
proveedorUserInfo | Lista de objetos JSON | Lista de todos los objetos de proveedor vinculados que contienen "providerId" y "federatedId". |
Correo verificado | booleano | Si se ha verificado o no el correo electrónico de la cuenta. |
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
.
Ejemplo de respuesta
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Códigos de error comunes
- EXPIRED_OOB_CODE: El código de acción ha caducado.
- INVALID_OOB_CODE: el código de acción no es válido. Esto puede suceder si el código tiene un formato incorrecto, venció o ya se usó.
- USER_DISABLED: La cuenta de usuario ha sido deshabilitada por un administrador.
- EMAIL_NOT_FOUND: No existe registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.
Borrar cuenta
Puede eliminar un usuario actual emitiendo una solicitud HTTP POST
al punto final de Auth deleteAccount
.
Método: POST
Tipo de contenido: aplicación/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]Carga útil del cuerpo de la solicitud
Nombre de la propiedad | Escribe | Descripción |
---|---|---|
idtoken | cuerda | El token de ID de Firebase del usuario que se va a eliminar. |
Nombre de la propiedad | Escribe | Descripción |
---|
Solicitud de muestra
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Una solicitud exitosa se indica mediante un código de estado HTTP 200 OK
.
Códigos de error comunes
- INVALID_ID_TOKEN: la credencial del usuario ya no es válida. El usuario debe iniciar sesión de nuevo.
- USER_NOT_FOUND: No existe registro de usuario correspondiente a este identificador. Es posible que el usuario haya sido eliminado.
Firebase Authentication Emulator
The Firebase Local Emulator Suite includes an Authentication emulator , which can be used for local prototyping and testing of authentication flows. The emulator exposes the following REST endpoints.
Clear user accounts
Remove all accounts in the specified project, regardless of state.
Method: DELETE
Endpoint Note that 9099
is the default port for the Authentication emulator. Check terminal output for the actual port being used.
http://localhost:9099/emulator/v1/projects/{project-id}/accounts
Get emulator configuration
Get emulator-specific configuration for the specified project.
Method: GET
Endpoint Note that 9099
is the default port for the Authentication emulator. Check terminal output for the actual port being used.
http://localhost:9099/emulator/v1/projects/{project-id}/configResponse Payload
Property Name | Escribe | Descripción |
---|---|---|
signIn | object | signIn configuration object containing a single key, allowDuplicateEmails (boolean). |
Patch emulator configuration
Update emulator-specific configuration for the specified project.
Method: PATCH
Endpoint Note that 9099
is the default port for the Authentication emulator. Check terminal output for the actual port being used.
Content-Type: application/json
http://localhost:9099/emulator/v1/projects/{project-id}/configRequest Body Payload
Property Name | Escribe | Descripción |
---|---|---|
signIn | object | Desired signIn configuration object with single key, allowDuplicateEmails (boolean). |
Property Name | Escribe | Descripción |
---|---|---|
signIn | object | Post-request signIn configuration object with single key, allowDuplicateEmails (boolean). |
Retrieve out-of-band authentication codes
If the authentication flows you are testing would normally generate out-of-band codes (eg, email verification codes, password reset codes), the emulator stores such codes internally until they are used.
Method: GET
Endpoint Note that 9099
is the default port for the Authentication emulator. Check terminal output for the actual port being used.
http://localhost:9099/emulator/v1/projects/{project-id}/oobCodesResponse Payload
Property Name | Escribe | Descripción |
---|---|---|
oobCodes | array | An array of objects containing details of all pending confirmation codes. Each object contains email (string), oobCode (string), oobLink (string), and requestType (string) |
Retrieve SMS verification codes
If you are testing phone/SMS authentication flows, the emulator stores such SMS codes internally until they are used.
Method: GET
Endpoint Note that 9099
is the default port for the Authentication emulator. Check terminal output for the actual port being used.
http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodesResponse Payload
Property Name | Escribe | Descripción |
---|---|---|
verificationCodes | array | An array of objects containing details of all pending verification codes. Each object contains phoneNumber (string) and sessionCode (string). |
Error Response
Error response format
Anytime an error is returned from the backend server for any of the APIs above, the response will have the following format.
Sample response
{ "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } ], "code": 400, "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } }
The error code is obtained from the message field. All of the above error codes refer to the message field content.