API REST do Firebase Auth

Uso da API

Você pode consultar o back-end do Firebase Auth por meio de uma API REST. Isso pode ser usado para várias operações, como criar novos usuários, fazer login nos existentes e editar ou excluir esses usuários.

Ao longo deste documento, API_KEY refere-se à chave de API da Web, que pode ser obtida na página de configurações do projeto em seu console de administração.

Troque o token personalizado por um ID e um token de atualização

Você pode trocar um token de autenticação personalizado por um token de ID e de atualização emitindo uma solicitação HTTP POST para o ponto de extremidade Auth verifyCustomToken .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
símbolo corda Um token personalizado do Firebase Auth para criar um ID e atualizar um par de tokens.
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga de resposta
Nome da propriedade Modelo Descrição
idToken corda Um token de ID de autenticação do Firebase gerado a partir do token personalizado fornecido.
refreshToken corda Um token de atualização do Firebase Auth gerado a partir do token personalizado fornecido.
expira em corda O número de segundos em que o token de ID expira.

Pedido de amostra

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 associado ao token personalizado.

Resposta de amostra

{
  "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, expirado, assinatura inválida etc.)
  • CREDENTIAL_MISMATCH: o token personalizado corresponde a um projeto diferente do Firebase.

Troque um token de atualização por um token de ID

Você pode atualizar um token de ID do Firebase emitindo uma solicitação HTTP POST para o endpoint securetoken.googleapis.com .

Método: POST

Tipo de conteúdo: application/x-www-form-urlencoded

Endpoint
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
tipo de concessão corda O tipo de concessão do token de atualização, sempre "refresh_token".
refresh_token corda Um token de atualização do Firebase Auth.
Carga de resposta
Nome da propriedade Modelo Descrição
expira em corda O número de segundos em que o token de ID expira.
token_type corda O tipo do token de atualização, sempre "Bearer".
refresh_token corda O token de atualização do Firebase Auth fornecido na solicitação ou um novo token de atualização.
id_token corda Um token de ID de autenticação do Firebase.
ID do usuário corda O uid correspondente ao token de ID fornecido.
ID_do_projeto corda Seu ID do projeto do Firebase.

Pedido de amostra

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.

Resposta de amostra

{
  "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 deve fazer login novamente.
  • USER_DISABLED: A conta de usuário foi desabilitada 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. Por favor, passe uma chave de API válida. (chave de API inválida fornecida)
  • INVALID_REFRESH_TOKEN: um token de atualização inválido é fornecido.
  • Payload JSON inválido recebido. 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 fornecido.

Inscreva-se com e-mail/senha

Você pode criar um novo usuário de e-mail e senha emitindo uma solicitação HTTP POST para o ponto de extremidade Auth signupNewUser .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
o email corda O e-mail para o usuário criar.
senha corda A senha para o usuário criar.
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga de resposta
Nome da propriedade Modelo Descrição
idToken corda Um token de ID de autenticação do Firebase para o usuário recém-criado.
o email corda O e-mail do usuário recém-criado.
refreshToken corda Um token de atualização do Firebase Auth para o usuário recém-criado.
expira em corda O número de segundos em que o token de ID expira.
localId corda O uid do usuário recém-criado.

Pedido de amostra

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 à nova conta.

Resposta de amostra

{
  "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á desabilitado para este projeto.
  • TOO_MANY_ATTEMPTS_TRY_LATER: bloqueamos todas as solicitações deste dispositivo devido a atividades incomuns. Tente mais tarde.

Entrar com e-mail/senha

Você pode conectar um usuário com um e-mail e senha emitindo uma solicitação HTTP POST para o ponto de extremidade Auth verifyPassword .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
o email corda O e-mail com o qual o usuário está entrando.
senha corda A senha da conta.
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga de resposta
Nome da propriedade Modelo Descrição
idToken corda Um token de ID de autenticação do Firebase para o usuário autenticado.
o email corda O e-mail do usuário autenticado.
refreshToken corda Um token de atualização do Firebase Auth para o usuário autenticado.
expira em corda O número de segundos em que o token de ID expira.
localId corda O uid do usuário autenticado.
registrado boleano Se o e-mail é para uma conta existente.

Pedido de amostra

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 associado à conta de e-mail/senha existente.

Resposta de amostra

{
  "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 possui senha.
  • USER_DISABLED: A conta de usuário foi desabilitada por um administrador.

Entrar como anônimo

Você pode conectar um usuário anonimamente emitindo uma solicitação HTTP POST para o ponto de extremidade Auth signupNewUser .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga de resposta
Nome da propriedade Modelo Descrição
idToken corda Um token de ID de autenticação do Firebase para o usuário recém-criado.
o email corda Como o usuário é anônimo, isso deve estar vazio.
refreshToken corda Um token de atualização do Firebase Auth para o usuário recém-criado.
expira em corda O número de segundos em que o token de ID expira.
localId corda O uid do usuário recém-criado.

Pedido de amostra

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 associado ao usuário anônimo.

Resposta de amostra

{
  "idToken": "[ID_TOKEN]",
  "email": "",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "Jws4SVjpT..."
}

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: o login de usuário anônimo está desabilitado para este projeto.

Fazer login com credencial OAuth

Você pode fazer login em um usuário com uma credencial OAuth emitindo uma solicitação HTTP POST para o ponto de extremidade Auth verifyAssertion .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
requestUri corda O URI para o qual o IDP redireciona o usuário de volta.
postBody corda Contém a credencial OAuth (um token de ID ou token de acesso) e o ID do provedor que emite a credencial.
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
returnIdpCredential boleano Se forçar o retorno da credencial OAuth nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
Carga de resposta
Nome da propriedade Modelo Descrição
ID federado corda O ID exclusivo identifica a conta do IdP.
ID do provedor corda O ID do provedor vinculado (por exemplo, "google.com" para o provedor do Google).
localId corda O uid do usuário autenticado.
email verificado boleano Se o e-mail de entrada é verificado.
o email corda O e-mail da conta.
oauthIdToken corda O token de identificação OIDC, se disponível.
oauthAccessToken corda O token de acesso OAuth, se disponível.
oauthTokenSecret corda O segredo do token OAuth 1.0, se disponível.
rawUserInfo corda A resposta JSON em string contendo todos os dados de IdP correspondentes à credencial OAuth fornecida.
primeiro nome corda O primeiro nome da conta.
último nome corda O sobrenome da conta.
nome completo corda O nome completo da conta.
Nome em Exibição corda O nome de exibição da conta.
fotoURl corda O URL da foto para a conta.
idToken corda Um token de ID de autenticação do Firebase para o usuário autenticado.
refreshToken corda Um token de atualização do Firebase Auth para o usuário autenticado.
expira em corda O número de segundos em que o token de ID expira.
precisa de confirmação boleano Se já existe outra conta com a mesma credencial. O usuário precisará fazer login na conta original e vincular a credencial atual a ela.

Solicitação de amostra com token de ID 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 associado ao usuário autenticado.

Resposta de amostra com token de ID 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\", ...}"
}

Solicitação de amostra 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 associado ao usuário autenticado.

Resposta de amostra com 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\", ...}"
}

Solicitação de amostra 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 associado ao usuário autenticado.

Exemplo de resposta com credencial do 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 erro comuns

  • OPERATION_NOT_ALLOWED: O provedor correspondente está desabilitado para este projeto.
  • INVALID_IDP_RESPONSE: a credencial de autenticação fornecida está malformada ou expirou.

Buscar provedores de e-mail

Você pode procurar todos os provedores associados a um email especificado emitindo uma solicitação HTTP POST para o endpoint Auth createAuthUri .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
identificador corda Endereço de e-mail do usuário
continuar Uri corda O URI para o qual o IDP redireciona o usuário de volta. Para este caso de uso, este é apenas o URL atual.
Carga de resposta
Nome da propriedade Modelo Descrição
todos os provedores Lista de cordas A lista de provedores com os quais o usuário fez login anteriormente.
registrado boleano Se o e-mail é para uma conta existente

Pedido de amostra

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 email.

Resposta de amostra

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

Você pode enviar um e-mail de redefinição de senha emitindo uma solicitação HTTP POST para o endpoint Auth getOobConfirmationCode .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Cabeçalhos opcionais
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.
Carga útil do corpo da solicitação
Nome da propriedade Modelo Descrição
tipo de solicitação corda O tipo de código OOB a ser retornado. Deve ser "PASSWORD_RESET" para redefinição de senha.
o email corda Endereço de e-mail do usuário.
Carga de resposta
Nome da propriedade Modelo Descrição
o email corda Endereço de e-mail do usuário.

Pedido de amostra

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 .

Resposta de amostra

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

Verifique o código de redefinição de senha

Você pode verificar um código de redefinição de senha emitindo uma solicitação HTTP POST para o ponto de extremidade Auth resetPassword .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
oobCode corda O código de ação de e-mail enviado ao e-mail do usuário para redefinir a senha.
Carga de resposta
Nome da propriedade Modelo Descrição
o email corda Endereço de e-mail do usuário.
tipo de solicitação corda Tipo do código de ação de e-mail. Deve ser "PASSWORD_RESET".

Pedido de amostra

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 .

Resposta de amostra

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

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: o login por senha está desabilitado para este projeto.
  • EXPIRED_OOB_CODE: O código de ação expirou.
  • INVALID_OOB_CODE: O código de ação é inválido. Isso pode acontecer se o código estiver malformado, expirado ou já tiver sido usado.

Confirmar redefinição de senha

Você pode aplicar uma alteração de redefinição de senha emitindo uma solicitação HTTP POST para o ponto de extremidade Auth resetPassword .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
oobCode corda O código de ação de e-mail enviado ao e-mail do usuário para redefinir a senha.
Nova Senha corda A nova senha do usuário.
Carga de resposta
Nome da propriedade Modelo Descrição
o email corda Endereço de e-mail do usuário.
tipo de solicitação corda Tipo do código de ação de e-mail. Deve ser "PASSWORD_RESET".

Pedido de amostra

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 .

Resposta de amostra

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

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: o login por senha está desabilitado para este projeto.
  • EXPIRED_OOB_CODE: O código de ação expirou.
  • INVALID_OOB_CODE: O código de ação é inválido. Isso pode acontecer se o código estiver malformado, expirado ou já tiver sido usado.
  • USER_DISABLED: A conta de usuário foi desabilitada por um administrador.

Mude o e-mail

Você pode alterar o e-mail de um usuário emitindo uma solicitação HTTP POST para o endpoint Auth setAccountInfo .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Cabeçalhos opcionais
Nome da propriedade Descrição
X-Firebase-Locale O código de idioma correspondente à localidade do usuário. Passar isso localizará a revogação de alteração de e-mail enviada ao usuário.
Carga útil do corpo da solicitação
Nome da propriedade Modelo Descrição
idToken corda Um token de ID de autenticação do Firebase para o usuário.
o email corda O novo e-mail do usuário.
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização.
Carga de resposta
Nome da propriedade Modelo Descrição
localId corda O uid do usuário atual.
o email corda Endereço de e-mail do usuário.
senhaHash corda Versão hash da senha.
provedorUserInfo Lista de objetos JSON Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId".
idToken corda Novo token de ID de autenticação do Firebase para o usuário.
refreshToken corda Um token de atualização do Firebase Auth.
expira em corda O número de segundos em que o token de ID expira.

Pedido de amostra

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 associado ao usuário.

Resposta de amostra

{
  "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 deve fazer login novamente.

Alterar a senha

Você pode alterar a senha de um usuário emitindo uma solicitação HTTP POST para o ponto de extremidade Auth setAccountInfo .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
idToken corda Um token de ID de autenticação do Firebase para o usuário.
senha corda Nova senha do usuário.
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização.
Carga de resposta
Nome da propriedade Modelo Descrição
localId corda O uid do usuário atual.
o email corda Endereço de e-mail do usuário.
senhaHash corda Versão hash da senha.
provedorUserInfo Lista de objetos JSON Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId".
idToken corda Novo token de ID de autenticação do Firebase para o usuário.
refreshToken corda Um token de atualização do Firebase Auth.
expira em corda O número de segundos em que o token de ID expira.

Pedido de amostra

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 associado ao usuário.

Resposta de amostra

{
  "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 deve fazer login novamente.
  • WEAK_PASSWORD: A senha deve ter 6 caracteres ou mais.

Atualizar perfil

Você pode atualizar o perfil de um usuário (nome de exibição/URL da foto) emitindo uma solicitação HTTP POST para o ponto de extremidade Auth setAccountInfo .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
idToken corda Um token de ID de autenticação do Firebase para o usuário.
Nome em Exibição corda Novo nome de exibição do usuário.
fotoURl corda URL da nova foto do usuário.
deleteAttribute Lista de cordas Lista de atributos a serem excluídos, "DISPLAY_NAME" ou "PHOTO_URL". Isso anulará esses valores.
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização.
Carga de resposta
Nome da propriedade Modelo Descrição
localId corda O uid do usuário atual.
o email corda Endereço de e-mail do usuário.
Nome em Exibição corda Novo nome de exibição do usuário.
fotoURl corda URL da nova foto do usuário.
senhaHash corda Versão hash da senha.
provedorUserInfo Lista de objetos JSON Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId".
idToken corda Novo token de ID de autenticação do Firebase para o usuário.
refreshToken corda Um token de atualização do Firebase Auth.
expira em corda O número de segundos em que o token de ID expira.

Pedido de amostra

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 .

Resposta de amostra

{
  "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 deve fazer login novamente.

Obter dados do usuário

Você pode obter os dados de um usuário emitindo uma solicitação HTTP POST para o endpoint Auth getAccountInfo .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
idToken corda O token de ID do Firebase da conta.
Carga de resposta
Nome da propriedade Modelo Descrição
Comercial Lista de objetos JSON A conta associada ao token de ID do Firebase fornecido. Confira abaixo mais detalhes.
Carga útil de resposta (conteúdo da matriz de users )
Nome da propriedade Modelo Descrição
localId corda O uid do usuário atual.
o email corda O e-mail da conta.
email verificado boleano Se o e-mail da conta foi verificado ou não.
Nome em Exibição corda O nome de exibição da conta.
provedorUserInfo Lista de objetos JSON Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId".
fotoURl corda O URL da foto para a conta.
senhaHash corda Versão hash da senha.
passwordUpdatedAt Duplo O carimbo de data/hora, em milissegundos, em que a senha da conta foi alterada pela última vez.
válido desde corda O carimbo de data/hora, em segundos, que marca um limite, antes do qual o token de ID do Firebase é considerado revogado.
Desativado boleano Se a conta está desativada ou não.
lastLoginAt corda O carimbo de data/hora, em milissegundos, em que a conta fez login pela última vez.
criado em corda O carimbo de data/hora, em milissegundos, em que a conta foi criada.
CustomAuth boleano Se a conta é autenticada pelo desenvolvedor.

Pedido de amostra

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.

Resposta de amostra

{
  "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 deve fazer login novamente.
  • USER_NOT_FOUND: Não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.

Você pode vincular um e-mail/senha a um usuário atual emitindo uma solicitação HTTP POST para o ponto de extremidade Auth setAccountInfo .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
idToken corda O token de ID do Firebase da conta à qual você está tentando vincular a credencial.
o email corda O e-mail para vincular à conta.
senha corda A nova senha da conta.
returnSecureToken corda Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga de resposta
Nome da propriedade Modelo Descrição
localId corda O uid do usuário atual.
o email corda O e-mail da conta.
Nome em Exibição corda O nome de exibição da conta.
fotoURl corda O URL da foto para a conta.
senhaHash corda Versão hash da senha.
provedorUserInfo Lista de objetos JSON Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId".
email verificado boleano Se o e-mail da conta foi verificado ou não.
idToken corda Novo token de ID de autenticação do Firebase para o usuário.
refreshToken corda Um token de atualização do Firebase Auth.
expira em corda O número de segundos em que o token de ID expira.

Pedido de amostra

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 associado ao usuário autenticado.

Resposta de amostra

{
  "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_AGAIN: a credencial do usuário não é mais válida. O usuário deve fazer login novamente.
  • TOKEN_EXPIRED: a credencial do usuário não é mais válida. O usuário deve fazer login novamente.
  • INVALID_ID_TOKEN:A credencial do usuário não é mais válida. O usuário deve fazer login novamente.
  • WEAK_PASSWORD: A senha deve ter 6 caracteres ou mais.

Você pode vincular uma credencial OAuth a um usuário emitindo uma solicitação HTTP POST para o ponto de extremidade Auth verifyAssertion .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
idToken corda O token de ID do Firebase da conta à qual você está tentando vincular a credencial.
requestUri corda O URI para o qual o IDP redireciona o usuário de volta.
postBody corda Contém a credencial OAuth (um token de ID ou token de acesso) e o ID do provedor que emite a credencial.
returnSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
returnIdpCredential boleano Se forçar o retorno da credencial OAuth nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
Carga de resposta
Nome da propriedade Modelo Descrição
ID federado corda O ID exclusivo identifica a conta do IdP.
ID do provedor corda O ID do provedor vinculado (por exemplo, "google.com" para o provedor do Google).
localId corda O uid do usuário autenticado.
email verificado boleano Se o e-mail de login foi verificado.
o email corda O e-mail da conta.
oauthIdToken corda O token de identificação OIDC, se disponível.
oauthAccessToken corda O token de acesso OAuth, se disponível.
oauthTokenSecret corda O segredo do token OAuth 1.0, se disponível.
rawUserInfo corda A resposta JSON em string contendo todos os dados de IdP correspondentes à credencial OAuth fornecida.
primeiro nome corda O primeiro nome da conta.
último nome corda O sobrenome da conta.
nome completo corda O nome completo da conta.
Nome em Exibição corda O nome de exibição da conta.
fotoURl corda O URL da foto para a conta.
idToken corda Um token de ID de autenticação do Firebase para o usuário autenticado.
refreshToken corda Um token de atualização do Firebase Auth para o usuário autenticado.
expira em corda O número de segundos em que o token de ID expira.

Solicitação de amostra com token de ID 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 associado ao usuário autenticado.

Resposta de amostra com token de ID 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\", ...}"
}

Solicitação de amostra 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 associado ao usuário autenticado.

Resposta de amostra com 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\", ...}"
}

Solicitação de amostra 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 associado ao usuário autenticado.

Exemplo de resposta com credencial do 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 erro comuns

  • OPERATION_NOT_ALLOWED: O provedor correspondente está desabilitado para este projeto.
  • INVALID_IDP_RESPONSE: a credencial de autenticação fornecida está malformada ou expirou.
  • INVALID_ID_TOKEN:A credencial do usuário não é mais válida. O usuário deve 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.

Você pode desvincular um provedor de um usuário atual emitindo uma solicitação HTTP POST para o ponto de extremidade Auth setAccountInfo .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
idToken corda O token de ID do Firebase da conta.
deleteProvider Lista de cordas A lista de IDs de provedores a serem desvinculados, por exemplo: 'google.com', 'password' etc.
Carga de resposta
Nome da propriedade Modelo Descrição
localId corda O uid do usuário atual.
o email corda O e-mail da conta.
Nome em Exibição corda O nome de exibição da conta.
fotoURl corda O URL da foto para a conta.
senhaHash corda Versão hash da senha.
provedorUserInfo Lista de objetos JSON Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId".
email verificado boleano Se o e-mail da conta foi verificado ou não.

Pedido de amostra

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 .

Resposta de amostra

{
  "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 deve fazer login novamente.

Enviar verificação de e-mail

Você pode enviar uma verificação de e-mail para o usuário atual emitindo uma solicitação HTTP POST para o endpoint Auth getOobConfirmationCode .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Cabeçalhos opcionais
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.
Carga útil do corpo da solicitação
Nome da propriedade Modelo Descrição
tipo de solicitação corda O tipo de código de confirmação a ser enviado. Deve ser sempre "VERIFY_EMAIL".
idToken corda O token de ID do Firebase do usuário a ser verificado.
Carga de resposta
Nome da propriedade Modelo Descrição
o email corda O e-mail da conta.

Pedido de amostra

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 .

Resposta de amostra

{
  "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 deve fazer login novamente.
  • USER_NOT_FOUND: Não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.

Confirmar verificação de e-mail

Você pode confirmar um código de verificação de e-mail emitindo uma solicitação HTTP POST para o endpoint Auth setAccountInfo .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
oobCode corda O código de ação enviado ao e-mail do usuário para verificação de e-mail.
Carga de resposta
Nome da propriedade Modelo Descrição
o email corda O e-mail da conta.
Nome em Exibição corda O nome de exibição da conta.
fotoURl corda O URL da foto para a conta.
senhaHash corda O hash da senha.
provedorUserInfo Lista de objetos JSON Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId".
email verificado boleano Se o e-mail da conta foi verificado ou não.

Pedido de amostra

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 .

Resposta de amostra

{
  "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 de ação expirou.
  • INVALID_OOB_CODE: O código de ação é inválido. Isso pode acontecer se o código estiver malformado, expirado ou já tiver sido usado.
  • USER_DISABLED: A conta de usuário foi desabilitada 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.

Deletar conta

Você pode excluir um usuário atual emitindo uma solicitação HTTP POST para o terminal Auth deleteAccount .

Método: POST

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Request Body Payload
Nome da propriedade Modelo Descrição
idToken corda O token de ID do Firebase do usuário a ser excluído.
Carga de resposta
Nome da propriedade Modelo Descrição

Pedido de amostra

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 deve fazer login novamente.
  • USER_NOT_FOUND: Não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.

Emulador de autenticação do Firebase

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

Clear user accounts

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

Method: DELETE

Endpoint

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

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

Get emulator configuration

Get emulator-specific configuration for the specified project.

Method: GET

Endpoint

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

http://localhost:9099/emulator/v1/projects/{project-id}/config
Response Payload
Property Name Modelo Descrição
signIn objeto signIn configuration object containing a single key, allowDuplicateEmails (boolean).

Patch emulator configuration

Update emulator-specific configuration for the specified project.

Method: PATCH

Endpoint

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

Content-Type: application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Request Body Payload
Property Name Modelo Descrição
signIn objeto Desired signIn configuration object with single key, allowDuplicateEmails (boolean).
Response Payload
Property Name Modelo Descrição
signIn objeto Post-request signIn configuration object with single key, allowDuplicateEmails (boolean).

Retrieve out-of-band authentication codes

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

Method: GET

Endpoint

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

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

Retrieve SMS verification codes

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

Method: GET

Endpoint

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

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
Response Payload
Property Name Modelo Descrição
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.