Uso da API
É possível consultar o back-end do Firebase Auth usando uma API REST. Isso pode ser usado para várias operações, como criar novos usuários, fazer login nos já existentes e editar ou excluir esses usuários.
Neste documento, API_KEY
se refere à chave de API da Web.
que podem ser obtidos na
configurações do projeto
no Admin Console.
Trocar token personalizado por um ID e um token de atualização
Você pode trocar um token de autenticação personalizado por um ID e token e atualização emitindo uma solicitação
POST
HTTP para o endpoint verifyCustomToken
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
token | string | Um token personalizado do Firebase Auth a partir do qual um par de tokens de ID e atualização será criado. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Firebase Auth gerado a partir do token personalizado fornecido. |
refreshToken | string | Um token de atualização do Firebase Auth gerado com base no token personalizado fornecido. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com o token personalizado.
Exemplo de resposta
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de erro comuns:
- INVALID_CUSTOM_TOKEN: o formato do token personalizado está incorreto ou o token é inválido por algum motivo (por exemplo, expirou, assinatura inválida etc.)
- CREDENTIAL_MISMATCH: o token personalizado corresponde a um projeto diferente do Firebase.
Trocar um token de atualização por um token de ID
É possível atualizar um token de ID do Firebase emitindo uma solicitação
POST
ao endpoint securetoken.googleapis.com
.
Método: POST
Tipos de conteúdo: application/x-www-form-urlencoded
Endpointhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
grant_type | string | O tipo de concessão do token de atualização, sempre "refresh_token". |
refresh_token | string | Um token de atualização do Firebase Auth. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
expires_in | string | O número de segundos em que o token de ID expira. |
token_type | string | Tipo de token de atualização, sempre "Bearer". |
refresh_token | string | O token de atualização do Firebase Auth fornecido na solicitação ou um novo token de atualização. |
id_token | string | Um token de ID do Firebase Auth. |
user_id | string | O uid correspondente ao token de ID fornecido. |
project_id | string | Seu ID do projeto do Firebase. |
Exemplo de solicitação
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]'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o novo token de ID do Firebase e o token de atualização.
Exemplo de resposta
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
Códigos de erro comuns:
- TOKEN_EXPIRED: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- USER_DISABLED: a conta de usuário foi desativada por um administrador.
- USER_NOT_FOUND: o usuário correspondente ao token de atualização não foi encontrado. É provável que o usuário tenha sido excluído.
- Chave de API inválida. Passe uma chave de API válida. (chave de API inválida fornecida)
- INVALID_REFRESH_TOKEN: um token de atualização inválido é fornecido.
- O payload JSON recebido é inválido. Nome desconhecido \"refresh_tokens\": não é possível vincular o parâmetro de consulta. O campo "refresh_tokens" não foi encontrado na mensagem de solicitação.
- INVALID_GRANT_TYPE: o tipo de concessão especificado é inválido.
- MISSING_REFRESH_TOKEN: nenhum token de atualização foi fornecido.
- PROJECT_NUMBER_MISMATCH: o número do projeto do token de atualização não corresponde ao da chave de API fornecida.
Inscreva-se com e-mail/senha
É possível criar um novo usuário de e-mail e senha emitindo uma solicitação HTTP
POST
para o endpoint signupNewUser
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | O e-mail do usuário a ser criado. | |
senha | string | A senha para o usuário a ser criada. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Firebase Auth para o usuário recém-criado. |
string | O e-mail do usuário recém-criado. | |
refreshToken | string | Um token de atualização do Firebase Auth para o usuário recém-criado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
localId | string | O uid do usuário recém-criado. |
Exemplo de solicitação
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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com a nova conta.
Exemplo de resposta
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
Códigos de erro comuns:
- EMAIL_EXISTS: o endereço de e-mail já está sendo usado por outra conta.
- OPERATION_NOT_ALLOWED: o login por senha está desativado para este projeto.
- TOO_MANY_ATTEMPTS_TRY_LATER: bloqueamos todas as solicitações deste dispositivo devido a atividades incomuns. Tente mais tarde.
Fazer login com e-mail/senha
É possível fazer login de um usuário com um e-mail e senha emitindo uma solicitação HTTP
POST
para o endpoint verifyPassword
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | O e-mail que o usuário está acessando. | |
senha | string | A senha da conta. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Firebase Auth para o usuário autenticado. |
string | O e-mail do usuário autenticado. | |
refreshToken | string | Um token de atualização do Firebase Auth para o usuário autenticado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
localId | string | O uid do usuário autenticado. |
registrado | boolean | Se o e-mail é de uma conta atual. |
Exemplo de solicitação
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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com a conta de e-mail/senha existente.
Exemplo de resposta
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de erro comuns:
- EMAIL_NOT_FOUND: não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.
- INVALID_PASSWORD: a senha é inválida ou o usuário não tem uma senha.
- USER_DISABLED: a conta de usuário foi desativada por um administrador.
Fazer login anonimamente
É possível fazer login de um usuário anonimamente emitindo uma solicitação
HTTP POST
para o endpoint signupNewUser
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Firebase Auth para o usuário recém-criado. |
string | Como o usuário é anônimo, isso precisa estar vazio. | |
refreshToken | string | Um token de atualização do Firebase Auth para o usuário recém-criado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
localId | string | O uid do usuário recém-criado. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com o usuário anônimo.
Exemplo de resposta
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
Códigos de erro comuns:
- OPERATION_NOT_ALLOWED: o login anônimo de usuário está desativado para este projeto.
Fazer login com a credencial OAuth
É possível fazer login de um usuário com uma credencial OAuth enviando uma solicitação HTTP
POST
para o endpoint verifyAssertion
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
requestUri | string | O URI para o qual o IDP redireciona o usuário de volta. |
postBody | string | Contém a credencial do OAuth (um token de ID ou token de acesso) e o ID do provedor que emite a credencial. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
returnIdpCredential | boolean | Define se o retorno da credencial do OAuth será forçado nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
federatedId | string | O ID exclusivo identifica a conta do IdP. |
providerId | string | O código do provedor vinculado (por exemplo, "google.com" para o provedor Google). |
localId | string | O uid do usuário autenticado. |
emailVerified | boolean | Se o e-mail de login foi verificado. |
string | O e-mail da conta. | |
oauthIdToken | string | O token de ID do OIDC, se disponível. |
oauthAccessToken | string | O token de acesso do OAuth, se disponível. |
oauthTokenSecret | string | O secret do token OAuth 1.0, se disponível. |
rawUserInfo | string | A resposta JSON em string que contém todos os dados do IdP correspondentes à credencial OAuth fornecida. |
firstName | string | O nome da conta. |
lastName | string | O sobrenome da conta. |
fullName | string | O nome completo da conta. |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
idToken | string | Um token de ID do Firebase Auth para o usuário autenticado. |
refreshToken | string | Um token de atualização do Firebase Auth para o usuário autenticado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
needConfirmation | boolean | Já existe outra conta com a mesma credencial. O usuário precisará fazer login na conta original e, em seguida, vincular a credencial atual. |
Exemplo de solicitação com token de ID do 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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com o usuário autenticado.
Exemplo de resposta com token de ID do 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\", ...}" }
Exemplo de solicitação com token de acesso 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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com o usuário autenticado.
Exemplo de resposta com o token de acesso 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\", ...}" }
Exemplo de solicitação com credencial do 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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com o usuário autenticado.
Exemplo de resposta com credencial OAuth do Twitter 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 erro comuns:
- OPERATION_NOT_ALLOWED: o provedor correspondente está desativado para este projeto.
- INVALID_IDP_RESPONSE: a credencial de autenticação fornecida é inválida ou expirou.
Buscar provedores de e-mail
É possível procurar todos os provedores associados a um e-mail especificado enviando uma solicitação HTTP
POST
para o endpoint de createAuthUri
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
identificador | string | Endereço de e-mail do usuário |
continueUri | string | O URI para o qual o IDP redireciona o usuário de volta. Neste caso de uso, apenas o URL atual. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
allProviders | Lista de strings | A lista de provedores com os quais o usuário fez login anteriormente. |
registrado | boolean | Se o e-mail é para uma conta atual. |
Exemplo de solicitação
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]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém a lista de provedores associados ao e-mail.
Exemplo de resposta:
{ "allProviders": [ "password", "google.com" ], "registered": true }
Códigos de erro comuns:
- INVALID_EMAIL: o endereço de e-mail está formatado incorretamente.
Enviar e-mail de redefinição de senha
É possível enviar um e-mail de redefinição de senha enviando uma solicitação
POST
HTTP para o endpoint getOobConfirmationCode
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nome da propriedade | Descrição |
---|---|
X-Firebase-Locale | O código de idioma correspondente à localidade do usuário. Passar isso localizará o e-mail de redefinição de senha enviado ao usuário. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
requestType | string | Tipo de código OOB a ser retornado. Precisa ser "PASSWORD_RESET" para a redefinição de senha. |
string | Endereço de e-mail do usuário. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | Endereço de e-mail do usuário. |
Exemplo de solicitação
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]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "email": "[user@example.com]" }
Códigos de erro comuns:
- EMAIL_NOT_FOUND: não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.
Verificar o código de redefinição de senha
É possível verificar um código de redefinição de senha emitindo uma solicitação HTTP
POST
para o endpoint resetPassword
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
oobCode | string | O código de ação de e-mail enviado ao e-mail do usuário para redefinir a senha. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | Endereço de e-mail do usuário. | |
requestType | string | Tipo de código de ação de e-mail. Precisa ser "PASSWORD_RESET". |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Códigos de erro comuns:
- OPERATION_NOT_ALLOWED: o login por senha está desativado para este projeto.
- EXPIRED_OOB_CODE: o código da ação expirou.
- INVALID_ coB_CODE: o código de ação é inválido. Isso poderá acontecer se o código estiver incorreto, expirado ou já tiver sido usado.
Confirmar redefinição da senha
É possível aplicar uma alteração de redefinição de senha emitindo uma solicitação HTTP
POST
para o endpoint resetPassword
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
oobCode | string | O código de ação de e-mail enviado ao e-mail do usuário para redefinir a senha. |
newPassword | string | A nova senha do usuário. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | Endereço de e-mail do usuário. | |
requestType | string | Tipo de código de ação de e-mail. Precisa ser "PASSWORD_RESET". |
Exemplo de solicitação
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]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Códigos de erro comuns:
- OPERATION_NOT_ALLOWED: o login por senha está desativado para este projeto.
- EXPIRED_OOB_CODE: o código da ação expirou.
- INVALID_ coB_CODE: o código de ação é inválido. Isso poderá acontecer se o código estiver incorreto, expirado ou já tiver sido usado.
- USER_DISABLED: a conta de usuário foi desativada por um administrador.
Alterar e-mail
É possível alterar o e-mail de um usuário emitindo uma solicitação HTTP
POST
para o endpoint setAccountInfo
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Descrição |
---|---|
X-Firebase-Locale | O código de idioma correspondente à localidade do usuário. Passar isso localizará a revogação da alteração de e-mail enviada ao usuário. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Firebase Auth para o usuário. |
string | O novo e-mail do usuário. | |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | Endereço de e-mail do usuário. | |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
idToken | string | Novo token de ID do Firebase Auth para o usuário. |
refreshToken | string | Um token de atualização do Firebase Auth. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o novo token de ID do Firebase e o token de atualização associados
com o usuário.
Exemplo de resposta
{ "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 erro comuns:
- EMAIL_EXISTS: o endereço de e-mail já está sendo usado por outra conta.
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
Alterar senha
É possível alterar a senha de um usuário emitindo uma solicitação HTTP
POST
para o endpoint de autenticação setAccountInfo
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Firebase Auth para o usuário. |
senha | string | Nova senha do usuário. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | Endereço de e-mail do usuário. | |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
idToken | string | Novo token de ID do Firebase Auth para o usuário. |
refreshToken | string | Um token de atualização do Firebase Auth. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o novo token de ID do Firebase e o token de atualização associados
com o usuário.
Exemplo de resposta
{ "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 erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- WEAK_PASSWORD: a senha precisa ter seis caracteres ou mais.
Atualizar perfil
É possível atualizar o perfil de um usuário (nome de exibição/URL da foto) enviando uma solicitação HTTP
POST
para o endpoint de autenticação setAccountInfo
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Firebase Auth para o usuário. |
displayName | string | O novo nome de exibição do usuário. |
photoUrl | string | URL da nova foto do usuário. |
deleteAttribute | Lista de strings | Lista de atributos a serem excluídos, "DISPLAY_NAME" ou "PHOTO_URL". Isso anulará esses valores. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | Endereço de e-mail do usuário. | |
displayName | string | O novo nome de exibição do usuário. |
photoUrl | string | URL da nova foto do usuário. |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
idToken | string | Novo token de ID do Firebase Auth para o usuário. |
refreshToken | string | Um token de atualização do Firebase Auth. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "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 erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
Acessar dados do usuário
É possível receber os dados do usuário emitindo uma solicitação HTTP
POST
para o endpoint de autenticação getAccountInfo
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Firebase da conta. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
users | Lista de objetos JSON | A conta associada ao token de ID do Firebase fornecido. Confira abaixo mais detalhes. |
users
)
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | O e-mail da conta. | |
emailVerified | boolean | Se o e-mail da conta foi verificado ou não. |
displayName | string | Nome de exibição da conta. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
photoUrl | string | O URL da foto da conta. |
passwordHash | string | Versão de hash da senha. |
passwordUpdatedAt | duplo | O carimbo de data/hora, em milissegundos, da última vez que a senha da conta foi alterada. |
validSince | string | O carimbo de data/hora, em segundos, que marca um limite, antes do qual o token de ID do Firebase é considerada revogada. |
desativado | boolean | Se a conta está desativada ou não. |
lastLoginAt | string | O carimbo de data/hora, em milissegundos, em que a conta fez login pela última vez. |
createdAt | string | O carimbo de data/hora, em milissegundos, em que a conta foi criada. |
customAuth | boolean | Se a conta é autenticada pelo desenvolvedor. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta conterá todas as informações do usuário associadas à conta.
Exemplo de resposta:
{ "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 erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- USER_NOT_FOUND: não há registros de usuário correspondentes a este identificador. O usuário pode ter sido excluído.
Vincular com e-mail/senha
É possível vincular um e-mail/senha a um usuário atual emitindo uma solicitação POST
HTTP
para o endpoint setAccountInfo
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Firebase da conta a que você está tentando vincular a credencial. |
string | O e-mail a ser vinculado à conta. | |
senha | string | A nova senha da conta. |
returnSecureToken | string | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | O e-mail da conta. | |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
emailVerified | boolean | Se o e-mail da conta foi verificado ou não. |
idToken | string | Novo token de ID do Firebase Auth para o usuário. |
refreshToken | string | Um token de atualização do Firebase Auth. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados ao
usuário autenticado.
Exemplo de resposta
{ "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 erro comuns:
- CREDENTIAL_TOO_OLD_LOGIN_ASURE: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- TOKEN_EXPIRED: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- WEAK_PASSWORD: a senha precisa ter seis caracteres ou mais.
Vincular com a credencial OAuth
Você pode vincular uma credencial OAuth a um usuário emitindo uma solicitação HTTP
POST
para o endpoint de autenticação verifyAssertion
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Firebase da conta a que você está tentando vincular a credencial. |
requestUri | string | O URI para o qual o IDP redireciona o usuário de volta. |
postBody | string | Contém a credencial do OAuth (um token de ID ou token de acesso) e o ID do provedor que emite a credencial. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
returnIdpCredential | boolean | Define se o retorno da credencial do OAuth será forçado nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
federatedId | string | O ID exclusivo identifica a conta do IdP. |
providerId | string | O código do provedor vinculado (por exemplo, "google.com" para o provedor Google). |
localId | string | O uid do usuário autenticado. |
emailVerified | boolean | Se o e-mail de login foi verificado. |
string | O e-mail da conta. | |
oauthIdToken | string | O token de ID do OIDC, se disponível. |
oauthAccessToken | string | O token de acesso do OAuth, se disponível. |
oauthTokenSecret | string | O secret do token OAuth 1.0, se disponível. |
rawUserInfo | string | A resposta JSON em string que contém todos os dados do IdP correspondentes à credencial OAuth fornecida. |
firstName | string | O nome da conta. |
lastName | string | O sobrenome da conta. |
fullName | string | O nome completo da conta. |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
idToken | string | Um token de ID do Firebase Auth para o usuário autenticado. |
refreshToken | string | Um token de atualização do Firebase Auth para o usuário autenticado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação com token de ID do 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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com o usuário autenticado.
Exemplo de resposta com token de ID do 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\", ...}" }
Exemplo de solicitação com token de acesso 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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com o usuário autenticado.
Exemplo de resposta com o token de acesso 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\", ...}" }
Exemplo de solicitação com credencial do 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}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Firebase e o token de atualização associados
com o usuário autenticado.
Exemplo de resposta com credencial OAuth do Twitter 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 erro comuns:
- OPERATION_NOT_ALLOWED: o provedor correspondente está desativado para este projeto.
- INVALID_IDP_RESPONSE: a credencial de autenticação fornecida é inválida ou expirou.
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- EMAIL_EXISTS: o endereço de e-mail já está sendo usado por outra conta.
- FEDERATED_USER_ID_ALREADY_LINKED: esta credencial já está associada a uma conta de usuário diferente.
Desvincular provedor
É possível desvincular um provedor de um usuário atual emitindo uma solicitação
POST
HTTP para o endpoint setAccountInfo
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Firebase da conta. |
deleteProvider | Lista de strings | A lista dos IDs de provedor para desvincular, por exemplo: "google.com", "senha" etc. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | O e-mail da conta. | |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
emailVerified | boolean | Se o e-mail da conta foi verificado ou não. |
Exemplo de solicitação
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]"]}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "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 erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
Enviar verificação de e-mail
É possível enviar uma verificação de e-mail para o usuário atual emitindo uma solicitação POST
HTTP para o endpoint getOobConfirmationCode
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nome da propriedade | Descrição |
---|---|
X-Firebase-Locale | O código de idioma correspondente à localidade do usuário. Passar isso localizará a verificação de e-mail enviada ao usuário. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
requestType | string | O tipo de código de confirmação a ser enviado. Sempre precisa ser "VERIFY_EMAIL". |
idToken | string | O token de ID do Firebase do usuário a ser verificado. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | O e-mail da conta. |
Exemplo de solicitação
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]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "email": "user@example.com" }
Códigos de erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- USER_NOT_FOUND: não há registros de usuário correspondentes a este identificador. O usuário pode ter sido excluído.
Confirmar a verificação por e-mail
Confirme um código de verificação de e-mail emitindo uma solicitação HTTP
POST
para o endpoint setAccountInfo
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
oobCode | string | O código de ação enviado ao e-mail do usuário para verificação de e-mail. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | O e-mail da conta. | |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
passwordHash | string | O hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
emailVerified | boolean | Se o e-mail da conta foi verificado ou não. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Códigos de erro comuns:
- EXPIRED_OOB_CODE: o código da ação expirou.
- INVALID_ coB_CODE: o código de ação é inválido. Isso poderá acontecer se o código estiver incorreto, expirado ou já tiver sido usado.
- USER_DISABLED: a conta de usuário foi desativada por um administrador.
- EMAIL_NOT_FOUND: não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.
Excluir conta
É possível excluir um usuário atual emitindo uma solicitação HTTP
POST
para o endpoint deleteAccount
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Firebase do usuário a ser excluído. |
Nome da propriedade | Tipo | Descrição |
---|
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Códigos de erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- USER_NOT_FOUND: não há registros de usuário correspondentes a este identificador. O usuário pode ter sido excluído.
Emulador do Firebase Authentication
O Pacote de emuladores locais do Firebase inclui um emulador de autenticação, que pode ser usado para: prototipagem local e testes de fluxos de autenticação. O emulador expõe o seguinte REST endpoints.
Limpar contas de usuário
Remove todas as contas no projeto especificado, independente do estado.
Método: DELETE
Endpoint
Observe que 9099
é a porta padrão do emulador do Authentication. Verificar terminal
da porta que está sendo usada.
http://localhost:9099/emulator/v1/projects/{project-id}/accounts
Acessar configuração do emulador
Recebe a configuração específica do emulador para o projeto especificado.
Método: GET
Endpoint
Observe que 9099
é a porta padrão do emulador do Authentication. Verificar terminal
da porta que está sendo usada.
http://localhost:9099/emulator/v1/projects/{project-id}/config
Nome da propriedade | Tipo | Descrição |
---|---|---|
signIn | objeto | Objeto de configuração signIn que contém uma única chave, allowDuplicateEmails (booleano). |
Fazer patch da configuração do emulador
Atualiza a configuração específica do emulador para o projeto especificado.
Método: PATCH
Endpoint
Observe que 9099
é a porta padrão do emulador do Authentication. Verificar terminal
da porta que está sendo usada.
Tipo de conteúdo: application/json
http://localhost:9099/emulator/v1/projects/{project-id}/config
Nome da propriedade | Tipo | Descrição |
---|---|---|
signIn | objeto | Objeto de configuração de login desejado com chave única, allowDuplicateEmails (booleano). |
Nome da propriedade | Tipo | Descrição |
---|---|---|
signIn | objeto | Objeto de configuração de login pós-solicitação com uma chave única, allowDuplicateEmails (booleano). |
Extrair códigos de autenticação fora de banda
Se os fluxos de autenticação que você está testando normalmente geram códigos fora de banda (por exemplo, códigos de verificação de e-mail e de redefinição de senha), o emulador armazena esses códigos internamente até como eles são usados.
Método: GET
Endpoint
Observe que 9099
é a porta padrão do emulador do Authentication. Verificar terminal
da porta que está sendo usada.
http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Nome da propriedade | Tipo | Descrição |
---|---|---|
Códigos oob | matriz | Uma matriz de objetos contendo detalhes de todos os códigos de confirmação pendentes.
Cada objeto contém email (string), oobCode (string),
oobLink (string) e requestType (string) |
Recuperar códigos de verificação por SMS
Se você estiver testando fluxos de autenticação por telefone/SMS, o emulador armazenará esses códigos SMS internamente até que sejam usados.
Método: GET
Endpoint
Observe que 9099
é a porta padrão do emulador do Authentication. Verificar terminal
da porta que está sendo usada.
http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Nome da propriedade | Tipo | Descrição |
---|---|---|
Códigos de verificação | matriz | Uma matriz de objetos contendo detalhes de todos os códigos de verificação pendentes.
Cada objeto contém phoneNumber (string) e sessionCode (string). |
Resposta de erro
Formato de resposta de erro
Sempre que um erro for retornado do servidor de back-end para qualquer uma das APIs acima, a resposta terá o formato a seguir.
Exemplo de resposta
{ "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } ], "code": 400, "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } }
O código do erro é encontrado no campo de mensagem. Todos os códigos de erro acima se referem do campo "message".