Usar a API REST

Este documento mostra como realizar operações comuns do utilizador, como iniciar sessão e trabalhar com tokens, através da API REST do Identity Platform.

Antes de começar

Para usar a API REST, precisa de uma chave da API Identity Platform. Para obter uma chave:

  1. Aceda à página Fornecedores de identidade na Google Cloud consola.
    Aceda à página Fornecedores de identidade

  2. Clique em Detalhes da configuração da aplicação.

  3. Copie o campo apiKey.

Tenha em atenção que o HTTPS é obrigatório para todas as chamadas da API.

Chamar a API

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

Pode trocar uma chave de autorização personalizada por uma chave de ID e uma chave de atualização emitindo um pedido HTTP POST para o ponto final signInWithCustomToken.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
token de string Um token personalizado da Identity Platform a partir do qual criar um par de tokens de ID e de atualização.
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização. Deve ser sempre verdadeiro.
tenantId de string O ID do inquilino no qual o utilizador está a iniciar sessão. Usado apenas em multi-tenancy.
Tem de corresponder ao tenant_id no token.
Reivindicações de tokens personalizadas
Propriedade Nome Descrição
alg Algoritmo Deve ser RS256.
iss Emissor O endereço de email da conta de serviço do seu projeto.
sub Assunto O endereço de email da conta de serviço do seu projeto.
aud Público-alvo https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit
iat Hora de emissão A hora atual, em segundos desde o início da época UNIX.
exp Período de validade A hora, em segundos desde o início da época UNIX, em que o token expira. Pode ser, no máximo, 3600 segundos depois da iat.
Nota: isto só controla a hora em que o próprio token personalizado expira. No entanto, depois de iniciar sessão num utilizador através de signInWithCustomToken(), a sessão do utilizador permanece iniciada no dispositivo até que seja invalidada ou o utilizador termine sessão.
uid ID do utilizador O identificador único do utilizador, com um comprimento entre 1 e 36 carateres.
tenant_id ID do inquilino O identificador do inquilino no qual o utilizador está a iniciar sessão.
reivindicações (opcional) Reivindicações personalizadas opcionais a incluir nas variáveis auth ou request.auth das regras de segurança.
Payload de resposta
Nome da propriedade Tipo Descrição
idToken de string Um token de ID da Identity Platform gerado a partir do token personalizado fornecido.
refreshToken de string Um token de atualização da Identity Platform gerado a partir do token personalizado fornecido.
expiresIn de string 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}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados 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, expirou, assinatura inválida, etc.)
  • CREDENTIAL_MISMATCH: o token personalizado corresponde a um Google Cloud projeto diferente.

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

Pode atualizar um token de ID da Identity Platform emitindo um pedido HTTP POST para o ponto final securetoken.googleapis.com.

Método: POST

Content-Type: application/x-www-form-urlencoded

Ponto final
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
grant_type de string O tipo de autorização do token de atualização, sempre "refresh_token".
refresh_token de string Um token de atualização do Identity Platform.
Payload de resposta
Nome da propriedade Tipo Descrição
expires_in de string O número de segundos em que o token de ID expira.
token_type de string O tipo do token de atualização, sempre "Bearer".
refresh_token de string O token de atualização da Identity Platform fornecido no pedido ou um novo token de atualização.
id_token de string Um token de ID do Identity Platform.
user_id de string O UID correspondente ao token de ID fornecido.
project_id de string O seu Google Cloud ID do projeto.

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]'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o novo token de atualização e token de ID da Identity Platform.

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 utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • USER_DISABLED: a conta de utilizador foi desativada por um administrador.
  • USER_NOT_FOUND: não foi encontrado o utilizador correspondente ao token de atualização. É provável que o utilizador tenha sido eliminado.
  • A chave da API não é válida. Transmita uma chave da API válida. (chave da API inválida fornecida)
  • INVALID_REFRESH_TOKEN: foi fornecido um token de atualização inválido.
  • Payload JSON inválido recebido. Nome desconhecido "refresh_tokens": não é possível associar o parâmetro de consulta. Não foi possível encontrar o campo "refresh_tokens" na mensagem de pedido.
  • INVALID_GRANT_TYPE: o tipo de autorizaçã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 da API fornecida.

Inscreva-se com email / palavra-passe

Pode criar um novo utilizador com email e palavra-passe enviando um pedido HTTP POST para o ponto final de autenticação signupNewUser.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
email de string O email do utilizador a criar.
palavra-passe de string A palavra-passe que o utilizador vai criar.
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização. Deve ser sempre verdadeiro.
tenantId de string O ID do inquilino do utilizador a criar. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
idToken de string Um token de ID da Identity Platform para o utilizador recém-criado.
email de string O email do utilizador recém-criado.
refreshToken de string Um token de atualização da Identity Platform para o utilizador recém-criado.
expiresIn de string O número de segundos em que o token de ID expira.
localId de string O UID do utilizador 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}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados à 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 email já está a ser usado por outra conta.
  • OPERATION_NOT_ALLOWED: O início de sessão com palavra-passe está desativado para este projeto.
  • TOO_MANY_ATTEMPTS_TRY_LATER: Bloqueámos todos os pedidos deste dispositivo devido a atividade invulgar. Tente mais tarde.

Inicie sessão com email / palavra-passe

Pode iniciar sessão num utilizador com um email e uma palavra-passe emitindo um pedido HTTP POST para o ponto final de autenticação verifyPassword.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
email de string O email com o qual o utilizador está a iniciar sessão.
palavra-passe de string A palavra-passe da conta.
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização. Deve ser sempre verdadeiro.
tenantId de string O ID do inquilino no qual o utilizador está a iniciar sessão. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
idToken de string Um token de ID da Identity Platform para o utilizador autenticado.
email de string O email do utilizador autenticado.
refreshToken de string Um token de atualização da Identity Platform para o utilizador autenticado.
expiresIn de string O número de segundos em que o token de ID expira.
localId de string O UID do utilizador autenticado.
registada booleano Se o email é 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}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização do Identity Platform associados à conta de email/palavra-passe 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 existe nenhum registo de utilizador correspondente a este identificador. O utilizador pode ter sido eliminado.
  • INVALID_PASSWORD: a palavra-passe é inválida ou o utilizador não tem uma palavra-passe.
  • USER_DISABLED: a conta de utilizador foi desativada por um administrador.

Inicie sessão anonimamente

Pode iniciar sessão num utilizador anonimamente emitindo um pedido HTTP POST para o ponto final de autenticação signupNewUser.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização. Deve ser sempre verdadeiro.
tenantId de string O ID do inquilino no qual o utilizador está a iniciar sessão. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
idToken de string Um token de ID da Identity Platform para o utilizador recém-criado.
email de string Uma vez que o utilizador é anónimo, este campo deve estar vazio.
refreshToken de string Um token de atualização da Identity Platform para o utilizador recém-criado.
expiresIn de string O número de segundos em que o token de ID expira.
localId de string O UID do utilizador 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}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de atualização e o token de ID da Identity Platform associados ao utilizador 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 início de sessão de utilizadores anónimos está desativado para este projeto.

Inicie sessão com a credencial do OAuth

Pode iniciar sessão num utilizador com uma credencial OAuth emitindo um pedido HTTP POST para o ponto final verifyAssertion de autenticação.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
requestUri de string O URI para o qual o IdP redireciona o utilizador.
postBody de string Contém a credencial OAuth (um token de ID ou um token de acesso) e o ID do fornecedor que emite a credencial.
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização. Deve ser sempre verdadeiro.
returnIdpCredential booleano Se deve forçar a devolução da credencial do OAuth nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
tenantId de string O ID do inquilino no qual o utilizador está a iniciar sessão. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
federatedId de string O ID exclusivo identifica a conta do IdP.
providerId de string O ID do fornecedor associado (por exemplo, "google.com" para o fornecedor Google).
localId de string O UID do utilizador autenticado.
emailVerified booleano Se o email de início de sessão está validado.
email de string O email da conta.
oauthIdToken de string O token de ID do OIDC, se disponível.
oauthAccessToken de string A chave de acesso OAuth, se disponível.
oauthTokenSecret de string O segredo do token OAuth 1.0, se disponível.
rawUserInfo de string A resposta JSON convertida em string que contém todos os dados do IdP correspondentes à credencial OAuth fornecida.
firstName de string O nome próprio da conta.
lastName de string O apelido da conta.
fullName de string O nome completo da conta.
displayName de string O nome a apresentar da conta.
photoUrl de string O URL da foto da conta.
idToken de string Um token de ID da Identity Platform para o utilizador autenticado.
refreshToken de string Um token de atualização da Identity Platform para o utilizador autenticado.
expiresIn de string O número de segundos em que o token de ID expira.
needConfirmation booleano Se já existe outra conta com a mesma credencial. O utilizador tem de iniciar sessão na conta original e, em seguida, associar a credencial atual à mesma.

Pedido de exemplo com o token de ID do OAuth

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

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados ao utilizador autenticado.

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

Pedido de exemplo com chave 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}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados ao utilizador autenticado.

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

Pedido de exemplo com credencial do OAuth 1.0 do Twitter

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

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados ao utilizador autenticado.

Exemplo de resposta com credencial do OAuth 1.0 do Twitter

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

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: O fornecedor correspondente está desativado para este projeto.
  • INVALID_IDP_RESPONSE: a credencial de autenticação fornecida está mal formada ou expirou.

Obtenha fornecedores de email

Pode procurar todos os fornecedores associados a um email especificado emitindo um pedido HTTP POST para o ponto final Auth createAuthUri.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
identificador de string Endereço de email do utilizador
continueUri de string O URI para o qual o IdP redireciona o utilizador. Para este exemplo de utilização, este é apenas o URL atual.
tenantId de string O ID do inquilino no qual o utilizador está a iniciar sessão. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
allProviders Lista de strings A lista de fornecedores com os quais o utilizador iniciou sessão anteriormente.
registada booleano Se o email é 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]"}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém a lista de fornecedores associados ao email.

Exemplo de resposta

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

Códigos de erro comuns

  • INVALID_EMAIL: o endereço de email está formatado incorretamente.

Enviar email de reposição de palavra-passe

Pode enviar um email de reposição de palavra-passe emitindo um pedido HTTP POST para o ponto final de autenticação getOobConfirmationCode.

Método: POST

Content-Type: application/json

Ponto final
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 à região do utilizador. A transmissão deste parâmetro localiza o email de reposição da palavra-passe enviado ao utilizador.
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
requestType de string O tipo de código OOB a devolver. Deve ser "PASSWORD_RESET" para a reposição da palavra-passe.
email de string Endereço de email do utilizador.
tenantId de string O ID do inquilino do utilizador que está a pedir a reposição da palavra-passe. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
email de string Endereço de email do utilizador.

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]"}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK.

Exemplo de resposta

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

Códigos de erro comuns

  • EMAIL_NOT_FOUND: não existe nenhum registo de utilizador correspondente a este identificador. O utilizador pode ter sido eliminado.

Valide o código de reposição da palavra-passe

Pode validar um código de reposição de palavra-passe emitindo um pedido HTTP POST para o ponto final resetPassword de autenticação.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
oobCode de string O código de ação de email enviado para o email do utilizador para repor a palavra-passe.
tenantId de string O ID do inquilino do utilizador que está a pedir a reposição da palavra-passe. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
email de string Endereço de email do utilizador.
requestType de string Tipo do código de ação de email. 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]"}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK.

Exemplo de resposta

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

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: O início de sessão com palavra-passe está desativado para este projeto.
  • EXPIRED_OOB_CODE: o código de ação expirou.
  • INVALID_OOB_CODE: o código de ação é inválido. Isto pode acontecer se o código estiver formatado incorretamente, tiver expirado ou já tiver sido usado.

Confirme a reposição da palavra-passe

Pode aplicar uma alteração de reposição da palavra-passe emitindo um pedido HTTP POST para o ponto final resetPassword de autenticação.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
oobCode de string O código de ação de email enviado para o email do utilizador para repor a palavra-passe.
newPassword de string A nova palavra-passe do utilizador.
tenantId de string O ID do inquilino do utilizador que está a pedir a reposição da palavra-passe. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
email de string Endereço de email do utilizador.
requestType de string Tipo do código de ação de email. 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]"}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK.

Exemplo de resposta

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

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: O início de sessão com palavra-passe está desativado para este projeto.
  • EXPIRED_OOB_CODE: o código de ação expirou.
  • INVALID_OOB_CODE: o código de ação é inválido. Isto pode acontecer se o código estiver formatado incorretamente, tiver expirado ou já tiver sido usado.
  • USER_DISABLED: a conta de utilizador foi desativada por um administrador.

Altere o email

Pode alterar o email de um utilizador emitindo um pedido HTTP POST para o ponto final Auth setAccountInfo.

Método: POST

Content-Type: application/json

Ponto final
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 à região do utilizador. A transmissão deste parâmetro localiza a revogação da alteração do email enviada ao utilizador.
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
idToken de string Um token de ID da Identity Platform para o utilizador.
email de string O novo email do utilizador.
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização.
Payload de resposta
Nome da propriedade Tipo Descrição
localId de string O UID do utilizador atual.
email de string Endereço de email do utilizador.
passwordHash de string Versão hash da palavra-passe.
providerUserInfo Lista de objetos JSON Lista de todos os objetos de fornecedor associados que contêm "providerId" e "federatedId".
idToken de string Novo token de ID da plataforma de identidade para o utilizador.
refreshToken de string Um token de atualização do Identity Platform.
expiresIn de string 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":"[GCIP_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o novo token de atualização e token de ID da Identity Platform associado ao utilizador.

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 email já está a ser usado por outra conta.
  • INVALID_ID_TOKEN:a credencial do utilizador já não é válida. O utilizador tem de iniciar sessão novamente.

Alterar palavra-passe

Pode alterar a palavra-passe de um utilizador emitindo um pedido HTTP POST para o ponto final de autenticação setAccountInfo.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
idToken de string Um token de ID da Identity Platform para o utilizador.
palavra-passe de string Nova palavra-passe do utilizador.
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização.
Payload de resposta
Nome da propriedade Tipo Descrição
localId de string O UID do utilizador atual.
email de string Endereço de email do utilizador.
passwordHash de string Versão hash da palavra-passe.
providerUserInfo Lista de objetos JSON Lista de todos os objetos de fornecedor associados que contêm "providerId" e "federatedId".
idToken de string Novo token de ID da plataforma de identidade para o utilizador.
refreshToken de string Um token de atualização do Identity Platform.
expiresIn de string 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":"[GCIP_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o novo token de atualização e token de ID da Identity Platform associado ao utilizador.

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 utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • WEAK_PASSWORD: a palavra-passe tem de ter, pelo menos, 6 carateres.

Perfil atualizado

Pode atualizar o perfil de um utilizador (nome a apresentar / URL da foto) emitindo um pedido HTTP POST para o ponto final de autenticação setAccountInfo.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
idToken de string Um token de ID da Identity Platform para o utilizador.
displayName de string Novo nome a apresentar do utilizador.
photoUrl de string URL da nova foto do utilizador.
deleteAttribute Lista de strings Lista de atributos a eliminar: "DISPLAY_NAME" ou "PHOTO_URL". Esta ação anula estes valores.
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização.
Payload de resposta
Nome da propriedade Tipo Descrição
localId de string O UID do utilizador atual.
email de string Endereço de email do utilizador.
displayName de string Novo nome a apresentar do utilizador.
photoUrl de string URL da nova foto do utilizador.
passwordHash de string Versão hash da palavra-passe.
providerUserInfo Lista de objetos JSON Lista de todos os objetos de fornecedor associados que contêm "providerId" e "federatedId".
idToken de string Novo token de ID da plataforma de identidade para o utilizador.
refreshToken de string Um token de atualização do Identity Platform.
expiresIn de string 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}'

Um pedido bem-sucedido é indicado por um código de estado 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 utilizador já não é válida. O utilizador tem de iniciar sessão novamente.

Obtenha dados do utilizador

Pode obter os dados de um utilizador emitindo um pedido HTTP POST para o ponto final Auth getAccountInfo.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
idToken de string O token de ID da Identity Platform da conta.
Payload de resposta
Nome da propriedade Tipo Descrição
utilizadores Lista de objetos JSON A conta associada ao token de ID da Identity Platform fornecido. Consulte mais detalhes abaixo.
Payload de resposta (conteúdo da matriz users)
Nome da propriedade Tipo Descrição
localId de string O UID do utilizador atual.
email de string O email da conta.
emailVerified booleano Se o email da conta foi validado ou não.
displayName de string O nome a apresentar da conta.
providerUserInfo Lista de objetos JSON Lista de todos os objetos de fornecedor associados que contêm "providerId" e "federatedId".
photoUrl de string O URL da foto da conta.
passwordHash de string Versão hash da palavra-passe.
passwordUpdatedAt dupla A data/hora, em milissegundos, em que a palavra-passe da conta foi alterada pela última vez.
validSince de string A data/hora, em segundos, que marca um limite, antes do qual os tokens de ID da Identity Platform são considerados revogados.
desativado booleano Se a conta está desativada ou não.
lastLoginAt de string A data/hora, em milissegundos, em que a conta iniciou sessão pela última vez.
createdAt de string A data/hora, em milissegundos, em que a conta foi criada.
customAuth booleano Se a conta está autenticada pelo programador.
tenantId de string O ID do inquilino do utilizador. Apenas devolvido em multi-posse.

Pedido de amostra

curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém todas as informações do utilizador 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 utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • USER_NOT_FOUND: não existe nenhum registo de utilizador correspondente a este identificador. O utilizador pode ter sido eliminado.

Pode associar um email/palavra-passe a um utilizador atual emitindo um pedido HTTP POST para o ponto final de autenticação setAccountInfo.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
idToken de string O token de ID da Identity Platform da conta à qual está a tentar associar a credencial.
email de string O email a associar à conta.
palavra-passe de string A nova palavra-passe da conta.
returnSecureToken de string Se deve ou não devolver um ID e um token de atualização. Deve ser sempre verdadeiro.
Payload de resposta
Nome da propriedade Tipo Descrição
localId de string O UID do utilizador atual.
email de string O email da conta.
displayName de string O nome a apresentar da conta.
photoUrl de string O URL da foto da conta.
passwordHash de string Versão hash da palavra-passe.
providerUserInfo Lista de objetos JSON Lista de todos os objetos de fornecedor associados que contêm "providerId" e "federatedId".
emailVerified booleano Se o email da conta foi validado ou não.
idToken de string Novo token de ID da plataforma de identidade para o utilizador.
refreshToken de string Um token de atualização do Identity Platform.
expiresIn de string 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}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados ao utilizador 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 utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • TOKEN_EXPIRED: a credencial do utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • INVALID_ID_TOKEN:a credencial do utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • WEAK_PASSWORD: a palavra-passe tem de ter, pelo menos, 6 carateres.

Pode associar uma credencial OAuth a um utilizador emitindo um pedido HTTP POST para o ponto final Auth verifyAssertion.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
idToken de string O token de ID da Identity Platform da conta à qual está a tentar associar a credencial.
requestUri de string O URI para o qual o IdP redireciona o utilizador.
postBody de string Contém a credencial OAuth (um token de ID ou um token de acesso) e o ID do fornecedor que emite a credencial.
returnSecureToken booleano Se deve ou não devolver um ID e um token de atualização. Deve ser sempre verdadeiro.
returnIdpCredential booleano Se deve forçar a devolução da credencial do OAuth nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
Payload de resposta
Nome da propriedade Tipo Descrição
federatedId de string O ID exclusivo identifica a conta do IdP.
providerId de string O ID do fornecedor associado (por exemplo, "google.com" para o fornecedor Google).
localId de string O UID do utilizador autenticado.
emailVerified booleano Se o email de início de sessão foi validado.
email de string O email da conta.
oauthIdToken de string O token de ID do OIDC, se disponível.
oauthAccessToken de string A chave de acesso OAuth, se disponível.
oauthTokenSecret de string O segredo do token OAuth 1.0, se disponível.
rawUserInfo de string A resposta JSON convertida em string que contém todos os dados do IdP correspondentes à credencial OAuth fornecida.
firstName de string O nome próprio da conta.
lastName de string O apelido da conta.
fullName de string O nome completo da conta.
displayName de string O nome a apresentar da conta.
photoUrl de string O URL da foto da conta.
idToken de string Um token de ID da Identity Platform para o utilizador autenticado.
refreshToken de string Um token de atualização da Identity Platform para o utilizador autenticado.
expiresIn de string O número de segundos em que o token de ID expira.

Pedido de exemplo com o token de ID do OAuth

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

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados ao utilizador autenticado.

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

Pedido de exemplo com chave 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":"[GCIP_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados ao utilizador autenticado.

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

Pedido de exemplo com credencial do OAuth 1.0 do Twitter

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

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK. A resposta contém o token de ID e o token de atualização da Identity Platform associados ao utilizador autenticado.

Exemplo de resposta com credencial do OAuth 1.0 do Twitter

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

Códigos de erro comuns

  • OPERATION_NOT_ALLOWED: O fornecedor correspondente está desativado para este projeto.
  • INVALID_IDP_RESPONSE: a credencial de autenticação fornecida está mal formada ou expirou.
  • INVALID_ID_TOKEN:a credencial do utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • EMAIL_EXISTS: o endereço de email já está a ser usado por outra conta.
  • FEDERATED_USER_ID_ALREADY_LINKED: Esta credencial já está associada a uma conta de utilizador diferente.

Pode desassociar um fornecedor de um utilizador atual emitindo um pedido HTTP POST para o ponto final de autenticação setAccountInfo.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
idToken de string O token de ID da Identity Platform da conta.
deleteProvider Lista de strings A lista de IDs de fornecedores a desassociar, por exemplo: "google.com", "password", etc.
Payload de resposta
Nome da propriedade Tipo Descrição
localId de string O UID do utilizador atual.
email de string O email da conta.
displayName de string O nome a apresentar da conta.
photoUrl de string O URL da foto da conta.
passwordHash de string Versão hash da palavra-passe.
providerUserInfo Lista de objetos JSON Lista de todos os objetos de fornecedor associados que contêm "providerId" e "federatedId".
emailVerified booleano Se o email da conta foi validado 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":"[GCIP_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'

Um pedido bem-sucedido é indicado por um código de estado 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 utilizador já não é válida. O utilizador tem de iniciar sessão novamente.

Envie a validação por email

Pode enviar uma validação por email para o utilizador atual emitindo um pedido HTTP POST para o ponto final de autenticação getOobConfirmationCode.

Método: POST

Content-Type: application/json

Ponto final
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 à região do utilizador. A aprovação deste parâmetro localiza a validação de email enviada ao utilizador.
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
requestType de string O tipo de código de confirmação a enviar. Deve ser sempre "VERIFY_EMAIL".
idToken de string O token de ID da Identity Platform do utilizador a validar.
Payload de resposta
Nome da propriedade Tipo Descrição
email de string O email 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":"[GCIP_ID_TOKEN]"}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK.

Exemplo de resposta

{
  "email": "user@example.com"
}

Códigos de erro comuns

  • INVALID_ID_TOKEN: a credencial do utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • USER_NOT_FOUND: não existe nenhum registo de utilizador correspondente a este identificador. O utilizador pode ter sido eliminado.

Confirme a validação por email

Pode confirmar um código de validação por email emitindo um pedido HTTP POST para o ponto final de autenticação setAccountInfo.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
oobCode de string O código de ação enviado para o email do utilizador para validação do email.
tenantId de string O ID do inquilino do utilizador que está a validar o email. Usado apenas em multi-tenancy.
Payload de resposta
Nome da propriedade Tipo Descrição
email de string O email da conta.
displayName de string O nome a apresentar da conta.
photoUrl de string O URL da foto da conta.
passwordHash de string O hash da palavra-passe.
providerUserInfo Lista de objetos JSON Lista de todos os objetos de fornecedor associados que contêm "providerId" e "federatedId".
emailVerified booleano Se o email da conta foi validado 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]"}'

Um pedido bem-sucedido é indicado por um código de estado 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. Isto pode acontecer se o código estiver formatado incorretamente, tiver expirado ou já tiver sido usado.
  • USER_DISABLED: a conta de utilizador foi desativada por um administrador.
  • EMAIL_NOT_FOUND: não existe nenhum registo de utilizador correspondente a este identificador. O utilizador pode ter sido eliminado.

Eliminar conta

Pode eliminar um utilizador atual enviando um pedido HTTP POST para o ponto final Auth deleteAccount.

Método: POST

Content-Type: application/json

Ponto final
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Payload do corpo do pedido
Nome da propriedade Tipo Descrição
idToken de string O símbolo de ID da Identity Platform do utilizador a eliminar.
Payload 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":"[GCIP_ID_TOKEN]"}'

Um pedido bem-sucedido é indicado por um código de estado HTTP 200 OK.

Códigos de erro comuns

  • INVALID_ID_TOKEN:a credencial do utilizador já não é válida. O utilizador tem de iniciar sessão novamente.
  • USER_NOT_FOUND: não existe nenhum registo de utilizador correspondente a este identificador. O utilizador pode ter sido eliminado.

Processamento de erros

Segue-se um exemplo de um erro comum devolvido pela Identity Platform:

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

Obtenha o código de erro do campo message.