API REST do Firebase Auth

Uso de API

Você pode consultar o back-end do Firebase Auth por meio de uma API REST. Isso pode ser usado para diversas 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 da API Web, que pode ser obtida na página de configurações do projeto em seu console administrativo.

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

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

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
símbolo corda Um token personalizado do Firebase Auth para criar um par de ID e token de atualização.
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga útil de resposta
Nome da propriedade Tipo Descrição
idToken corda Um token de ID do Firebase Auth gerado a partir do token personalizado fornecido.
atualizarToken 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.

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, expirado, 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

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

Método: POSTAR

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

Endpoint
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
tipo_de_concessão corda O tipo de concessão do token de atualização, sempre "refresh_token".
atualização_token corda Um token de atualização do Firebase Auth.
Carga útil de resposta
Nome da propriedade Tipo Descrição
expira em corda O número de segundos em que o token de ID expira.
tipo_de_token corda O tipo do token de atualização, sempre "Bearer".
atualização_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.

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 deve fazer login novamente.
  • USER_DISABLED: A conta do 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.
  • Carga JSON inválida recebida. 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.
  • PROJECT_NUMBER_MISMATCH: o número do projeto do token de atualização não corresponde ao da chave de API fornecida.

Cadastre-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 endpoint Auth signupNewUser .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
e-mail corda O e-mail para o usuário criar.
senha corda A senha a ser criada pelo usuário.
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga útil de resposta
Nome da propriedade Tipo Descrição
idToken corda Um token de ID do Firebase Auth para o usuário recém-criado.
e-mail corda O e-mail do usuário recém-criado.
atualizarToken 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 associado à 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á em uso por outra conta.
  • OPERATION_NOT_ALLOWED: o login com 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.

Faça login com e-mail/senha

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

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
e-mail corda O e-mail com o qual o usuário está fazendo login.
senha corda A senha da conta.
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga útil de resposta
Nome da propriedade Tipo Descrição
idToken corda Um token de ID do Firebase Auth para o usuário autenticado.
e-mail corda O e-mail do usuário autenticado.
atualizarToken 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.

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 possui senha.
  • USER_DISABLED: A conta do 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 endpoint Auth signupNewUser .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga útil de resposta
Nome da propriedade Tipo Descrição
idToken corda Um token de ID do Firebase Auth para o usuário recém-criado.
e-mail corda Como o usuário é anônimo, deve estar vazio.
atualizarToken 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.

Exemplo de resposta

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

Faça login com credencial OAuth

Você pode conectar um usuário com uma credencial OAuth emitindo uma solicitação HTTP POST para o endpoint Auth verifyAssertion .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
solicitaçãoUri 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.
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
returnIdpCredential boleano Se deve forçar o retorno da credencial OAuth nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
Carga útil de resposta
Nome da propriedade Tipo Descrição
federadoId 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 Google).
localId corda O uid do usuário autenticado.
email verificado boleano Se o e-mail de login foi verificado.
e-mail 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 stringificada que contém todos os dados do IdP correspondentes à credencial OAuth fornecida.
primeiro nome corda O primeiro nome da conta.
sobrenome corda O sobrenome da conta.
nome completo corda O nome completo da conta.
nome de exibição corda O nome de exibição da conta.
fotoUrl corda O URL da foto da conta.
idToken corda Um token de ID do Firebase Auth para o usuário autenticado.
atualizarToken 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 exemplo 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 associados ao usuário autenticado.

Exemplo de resposta 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 exemplo 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 ao usuário autenticado.

Exemplo de resposta 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\", ...}"
}

Exemplo de solicitação com credencial Twitter OAuth 1.0

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

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 com credencial Twitter OAuth 1.0

{
  "federatedId": "http://twitter.com/1234567890",
  "providerId": "twitter.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]",
  "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "http://abs.twimg.com/sticky/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Códigos de erro comuns

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

Buscar provedores para e-mail

Você pode consultar todos os provedores associados a um e-mail especificado emitindo uma solicitação HTTP POST para o endpoint Auth createAuthUri .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
identificador corda Endereço de e-mail do usuário
continuarUri 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 útil de resposta
Nome da propriedade Tipo Descrição
todos os provedores Lista de strings 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.

Exemplo de resposta

{
  "allProviders": [
    "password",
    "google.com"
  ],
  "registered": true
}

Códigos de erro comuns

  • INVALID_EMAIL: o endereço de e-mail está mal formatado.

Enviar e-mail de redefinição de senha

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

Método: POSTAR

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 do idioma correspondente à localidade do usuário. Passar isso localizará o e-mail de redefinição de senha enviado ao usuário.
Solicitar carga útil do corpo
Nome da propriedade Tipo 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.
e-mail corda Endereço de e-mail do usuário.
Carga útil de resposta
Nome da propriedade Tipo Descrição
e-mail 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 .

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.

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 endpoint Auth resetPassword .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo 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 útil de resposta
Nome da propriedade Tipo Descrição
e-mail 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 .

Exemplo de resposta

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

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: o login com 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 endpoint Auth resetPassword .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo 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 útil de resposta
Nome da propriedade Tipo Descrição
e-mail 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 .

Exemplo de resposta

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

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: o login com 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 do 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: POSTAR

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 do idioma correspondente à localidade do usuário. Passar isso localizará a revogação da alteração do e-mail enviada ao usuário.
Solicitar carga útil do corpo
Nome da propriedade Tipo Descrição
idToken corda Um token de ID do Firebase Auth para o usuário.
e-mail corda O novo e-mail do usuário.
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização.
Carga útil de resposta
Nome da propriedade Tipo Descrição
localId corda O uid do usuário atual.
e-mail 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 do Firebase Auth para o usuário.
atualizarToken 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.

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á em uso 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 endpoint Auth setAccountInfo .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
idToken corda Um token de ID do Firebase Auth para o usuário.
senha corda Nova senha do usuário.
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização.
Carga útil de resposta
Nome da propriedade Tipo Descrição
localId corda O uid do usuário atual.
e-mail 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 do Firebase Auth para o usuário.
atualizarToken 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.

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 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 endpoint Auth setAccountInfo .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
idToken corda Um token de ID do Firebase Auth para o usuário.
nome de exibição corda O novo nome de exibição do usuário.
fotoUrl corda 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.
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização.
Carga útil de resposta
Nome da propriedade Tipo Descrição
localId corda O uid do usuário atual.
e-mail corda Endereço de e-mail do usuário.
nome de exibição corda O 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 do Firebase Auth para o usuário.
atualizarToken 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 .

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

Obtenha 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: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
idToken corda O token de ID do Firebase da conta.
Carga útil de resposta
Nome da propriedade Tipo Descrição
Usuários 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 users )
Nome da propriedade Tipo Descrição
localId corda O uid do usuário atual.
e-mail corda O e-mail da conta.
email verificado boleano Se o e-mail da conta foi verificado ou não.
nome de 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 da conta.
senhaHash corda Versão hash da senha.
senhaAtualizadaAt dobro O carimbo de data/hora, em milissegundos, da última alteração da senha da conta.
válidoDesde corda O carimbo de data/hora, em segundos, que marca um limite antes do qual o token de ID do Firebase é considerado revogado.
desabilitado boleano Se a conta está desativada ou não.
últimoLoginAt corda O carimbo de data/hora, em milissegundos, do último login da conta.
criado em corda O carimbo de data/hora, em milissegundos, em que a conta foi criada.
autenticação personalizada 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.

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 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 endpoint Auth setAccountInfo .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
idToken corda O token de ID do Firebase da conta à qual você está tentando vincular a credencial.
e-mail corda O e-mail para vincular à conta.
senha corda A nova senha da conta.
retornarSecureToken corda Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
Carga útil de resposta
Nome da propriedade Tipo Descrição
localId corda O uid do usuário atual.
e-mail corda O e-mail da conta.
nome de exibição corda O nome de exibição da conta.
fotoUrl corda O URL da foto da 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 do Firebase Auth para o usuário.
atualizarToken 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 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_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 endpoint Auth verifyAssertion .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
idToken corda O token de ID do Firebase da conta à qual você está tentando vincular a credencial.
solicitaçãoUri 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.
retornarSecureToken boleano Se deve ou não retornar um ID e um token de atualização. Deve ser sempre verdade.
returnIdpCredential boleano Se deve forçar o retorno da credencial OAuth nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
Carga útil de resposta
Nome da propriedade Tipo Descrição
federadoId 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 Google).
localId corda O uid do usuário autenticado.
email verificado boleano Se o e-mail de login foi verificado.
e-mail 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 stringificada que contém todos os dados do IdP correspondentes à credencial OAuth fornecida.
primeiro nome corda O primeiro nome da conta.
sobrenome corda O sobrenome da conta.
nome completo corda O nome completo da conta.
nome de exibição corda O nome de exibição da conta.
fotoUrl corda O URL da foto da conta.
idToken corda Um token de ID do Firebase Auth para o usuário autenticado.
atualizarToken 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 exemplo 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 associados ao usuário autenticado.

Exemplo de resposta 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 exemplo 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 ao usuário autenticado.

Exemplo de resposta 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\", ...}"
}

Exemplo de solicitação com credencial Twitter OAuth 1.0

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

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 com credencial Twitter OAuth 1.0

{
  "federatedId": "http://twitter.com/1234567890",
  "providerId": "twitter.com",
  "localId": "5xwsPCWYo...",
  "emailVerified": true,
  "email": "user@example.com",
  "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]",
  "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]",
  "firstName": "John",
  "lastName": "Doe",
  "fullName": "John Doe",
  "displayName": "John Doe",
  "idToken": "[ID_TOKEN]",
  "photoUrl": "http://abs.twimg.com/sticky/...",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}"
}

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: O provedor correspondente está desabilitado para este projeto.
  • INVALID_IDP_RESPONSE: a credencial de autenticação fornecida está incorreta 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á em uso 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 endpoint Auth setAccountInfo .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
idToken corda O token de ID do Firebase da conta.
excluirProvider Lista de strings A lista de IDs de provedores a serem desvinculados, por exemplo: 'google.com', 'senha' etc.
Carga útil de resposta
Nome da propriedade Tipo Descrição
localId corda O uid do usuário atual.
e-mail corda O e-mail da conta.
nome de exibição corda O nome de exibição da conta.
fotoUrl corda O URL da foto da 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 .

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

Enviar verificação de e-mail

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

Método: POSTAR

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 do idioma correspondente à localidade do usuário. A aprovação localizará a verificação do e-mail enviada ao usuário.
Solicitar carga útil do corpo
Nome da propriedade Tipo 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 útil de resposta
Nome da propriedade Tipo Descrição
e-mail 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 .

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 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: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
oobCode corda O código de ação enviado ao email do usuário para verificação de email.
Carga útil de resposta
Nome da propriedade Tipo Descrição
e-mail corda O e-mail da conta.
nome de exibição corda O nome de exibição da conta.
fotoUrl corda O URL da foto da 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 .

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 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 do 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 endpoint Auth deleteAccount .

Método: POSTAR

Tipo de conteúdo: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
idToken corda O token de ID do Firebase do usuário a ser excluído.
Carga útil de resposta
Nome da propriedade Tipo 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 Firebase

O Firebase Local Emulator Suite inclui um emulador de autenticação , que pode ser usado para prototipagem local e teste de fluxos de autenticação. O emulador expõe os seguintes pontos de extremidade REST.

Limpar contas de usuário

Remova todas as contas do projeto especificado, independentemente do estado.

Método: DELETAR

Ponto final

Observe que 9099 é a porta padrão para o emulador de autenticação. Verifique a saída do terminal para a porta real que está sendo usada.

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

Obtenha a configuração do emulador

Obtenha a configuração específica do emulador para o projeto especificado.

Método: GET

Ponto final

Observe que 9099 é a porta padrão para o emulador de autenticação. Verifique a saída do terminal para a porta real que está sendo usada.

Carga útil de resposta
http://localhost:9099/emulator/v1/projects/{project-id}/config
Nome da propriedade Tipo Descrição
entrar objeto Objeto de configuração signIn contendo uma única chave, allowDuplicateEmails (booleano).

Configuração do emulador de patch

Atualize a configuração específica do emulador para o projeto especificado.

Método: PATCH

Ponto final

Observe que 9099 é a porta padrão para o emulador de autenticação. Verifique a saída do terminal para a porta real que está sendo usada.

Tipo de conteúdo: application/json

http://localhost:9099/emulator/v1/projects/{project-id}/config
Carga útil do corpo da solicitação
Nome da propriedade Tipo Descrição
entrar objeto Objeto de configuração de login desejado com chave única, allowDuplicateEmails (booleano).
Carga útil de resposta
Nome da propriedade Tipo Descrição
entrar objeto Objeto de configuração de login pós-solicitação com chave única, allowDuplicateEmails (booleano).

Recuperar códigos de autenticação fora de banda

Se os fluxos de autenticação que você está testando normalmente gerarem códigos fora de banda (por exemplo, códigos de verificação de e-mail, códigos de redefinição de senha), o emulador armazenará esses códigos internamente até que sejam usados.

Método: GET

Ponto final

Observe que 9099 é a porta padrão para o emulador de autenticação. Verifique a saída do terminal para a porta real que está sendo usada.

Carga útil de resposta
http://localhost:9099/emulator/v1/projects/{project-id}/oobCodes
Nome da propriedade Tipo Descrição
oobCódigos variedade Uma variedade 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 de SMS

Se você estiver testando fluxos de autenticação por telefone/SMS, o emulador armazena esses códigos SMS internamente até que sejam usados.

Método: GET

Ponto final

Observe que 9099 é a porta padrão para o emulador de autenticação. Verifique a saída do terminal para a porta real que está sendo usada.

http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodes
CAPAÇÃO DE RESPOSTA
Nome da propriedade Tipo Descrição
VerificationCodes variedade Uma variedade 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 é retornado do servidor de back -end para qualquer uma das APIs acima, a resposta terá o seguinte formato.

Resposta da amostra

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalid",
        "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
      }
    ],
    "code": 400,
    "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
  }
}

O código de erro é obtido no campo da mensagem. Todos os códigos de erro acima se referem ao conteúdo do campo da mensagem.