Uso da API REST
Este documento mostra como executar operações de usuário comuns, como o login de usuários e o trabalho com tokens, usando a API REST do Identity Platform.
Antes de começar
Para usar a API REST, você precisará de uma chave de API do Identity Platform. Para conseguir uma chave:
Acesse a página Provedores de identidade no console do Google Cloud.
Acessar a página "Provedores do Identity Platform"Clique em Detalhes da configuração da aplicação.
Copie o campo
apiKey
.
Observe que HTTPS é obrigatório para todas as chamadas de API.
Como chamar a API
Trocar token personalizado por um ID e um token de atualização
É possível trocar um token de autenticação personalizado por um ID e token de atualização emitindo uma solicitação
POST
HTTP para o endpoint signInWithCustomToken
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
token | string | Um token personalizado do Identity Platform a partir do qual é possível criar um par de tokens e ID. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
tenantId | string | O ID do locatário em que o usuário está fazendo login. Usado somente no multilocação. Precisa corresponder ao tenant_id no token. |
Property | Nome | Descrição |
---|---|---|
alg | Algoritmo | Precisa ser RS256 . |
iss | Emissor | Endereço de e-mail da conta de serviço do seu projeto. |
sub | Assunto | Endereço de e-mail 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 exata, em segundos desde a época de UNIX. |
exp | tempo de expiração | O tempo, em segundos, desde a época do UNIX, em que o token expira. Pode ser no máximo 3.600 segundos depois de iat .
Observação: ele controla o tempo apenas quando o token personalizado expira. No entanto, quando você faz login com um usuário usando signInWithCustomToken() , ele permanecerá conectado ao dispositivo até que a sessão seja invalidada ou que o usuário desconecte. |
uid | ID do usuário | O identificador exclusivo do usuário, entre 1 e 36 caracteres. |
tenant_id | ID do locatário | O identificador do locatário em que o usuário está fazendo login. |
declarações (opcional) | Declarações personalizadas opcionais a serem incluídas nas variáveis auth ou request.auth das regras de segurança. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Identity Platform gerado a partir do token personalizado fornecido. |
refreshToken | string | Um token de atualização do Identity Platform gerado a partir do token personalizado fornecido. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token do ID do Identity Platform e o token de atualização 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 projeto diferente do Google Cloud.
Trocar um token de atualização por um token de ID
É possível atualizar um token de ID do Identity Platform emitindo uma solicitação
POST
HTTP para o endpoint securetoken.googleapis.com
.
Método: POST
Tipos de conteúdo: application/x-www-form-urlencoded
Endpointhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
grant_type | string | O tipo de concessão do token de atualização, sempre "refresh_token". |
refresh_token | string | Token de atualização do Identity Platform. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
expires_in | string | O número de segundos em que o token de ID expira. |
token_type | string | Tipo de token de atualização, sempre "Bearer". |
refresh_token | string | O token de atualização do Identity Platform fornecido na solicitação ou um novo token de atualização. |
id_token | string | Um token de ID do Identity Platform. |
user_id | string | O uid correspondente ao token de ID fornecido. |
project_id | string | É o ID do seu projeto no Google Cloud. |
Exemplo de solicitação
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o novo token de ID do Identity Platform e o token de atualização.
Exemplo de resposta:
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
Códigos de erro comuns:
- TOKEN_EXPIRED: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- USER_DISABLED: a conta de usuário foi desativada por um administrador.
- USER_NOT_FOUND: o usuário correspondente ao token de atualização não foi encontrado. É provável que o usuário tenha sido excluído.
- Chave de API inválida. Passe uma chave de API válida. (chave de API inválida fornecida)
- INVALID_REFRESH_TOKEN: um token de atualização inválido é fornecido.
- O payload JSON recebido é inválido. Nome desconhecido \"refresh_tokens\": não é possível vincular o parâmetro de consulta. O campo "refresh_tokens" não foi encontrado na mensagem de solicitação.
- INVALID_GRANT_TYPE: o tipo de concessão especificado é inválido.
- MISSING_REFRESH_TOKEN: nenhum token de atualização fornecido.
- PROJECT_NUMBER_MISMATCH: o número do projeto do token de atualização não corresponde ao da chave de API fornecida.
Inscreva-se com e-mail/senha
É possível criar um novo usuário de e-mail e senha emitindo uma solicitação HTTP
POST
para o endpoint signupNewUser
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | O e-mail do usuário a ser criado. | |
senha | string | A senha para o usuário a ser criada. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
tenantId | string | O ID de locatário do usuário a ser criado. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Identity Platform para o usuário recém-criado. |
string | O e-mail do usuário recém-criado. | |
refreshToken | string | Um token de atualização do Identity Platform para o usuário recém-criado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
localId | string | O uid do usuário recém-criado. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Identity Platform e o token de atualização 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 e-mail já está sendo usado por outra conta.
- OPERATION_NOT_ALLOWED: o login por senha está desativado para este projeto.
- TOO_MANY_ATTEMPTS_TRY_LATER: bloqueamos todas as solicitações deste dispositivo devido a atividades incomuns. Tente mais tarde.
Fazer login com e-mail/senha
É possível fazer login de um usuário com um e-mail e senha emitindo uma solicitação HTTP
POST
para o endpoint verifyPassword
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | O e-mail que o usuário está acessando. | |
senha | string | A senha da conta. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
tenantId | string | O ID do locatário em que o usuário está fazendo login. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Identity Platform para o usuário autenticado. |
string | O e-mail do usuário autenticado. | |
refreshToken | string | Um token de atualização do Identity Platform para o usuário autenticado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
localId | string | O uid do usuário autenticado. |
registrado | boolean | Se o e-mail é de uma conta atual. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Identity Platform e o token de atualização associados
à conta de e-mail/senha atual.
Exemplo de resposta:
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de erro comuns:
- EMAIL_NOT_FOUND: não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.
- INVALID_PASSWORD: a senha é inválida ou o usuário não tem uma senha.
- USER_DISABLED: a conta de usuário foi desativada por um administrador.
Fazer login anonimamente
É possível fazer login de um usuário anonimamente emitindo uma solicitação
HTTP POST
para o endpoint signupNewUser
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
tenantId | string | O ID do locatário em que o usuário está fazendo login. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Identity Platform para o usuário recém-criado. |
string | Como o usuário é anônimo, isso precisa estar vazio. | |
refreshToken | string | Um token de atualização do Identity Platform para o usuário recém-criado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
localId | string | O uid do usuário recém-criado. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Identity Platform 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 anônimo de usuário está desativado para este projeto.
Fazer login com a credencial OAuth
É possível fazer login de um usuário com uma credencial OAuth enviando uma solicitação HTTP
POST
para o endpoint verifyAssertion
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
requestUri | string | O URI para o qual o IDP redireciona o usuário de volta. |
postBody | string | Contém a credencial do OAuth (um token de ID ou token de acesso) e o ID do provedor que emite a credencial. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
returnIdpCredential | boolean | Define se o retorno da credencial do OAuth será forçado nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS. |
tenantId | string | O ID do locatário em que o usuário está fazendo login. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
federatedId | string | O ID exclusivo identifica a conta do IdP. |
providerId | string | O código do provedor vinculado (por exemplo, "google.com" para o provedor Google). |
localId | string | O uid do usuário autenticado. |
emailVerified | boolean | Se o e-mail de login foi verificado. |
string | O e-mail da conta. | |
oauthIdToken | string | O token de ID do OIDC, se disponível. |
oauthAccessToken | string | O token de acesso do OAuth, se disponível. |
oauthTokenSecret | string | O secret do token OAuth 1.0, se disponível. |
rawUserInfo | string | A resposta JSON em string que contém todos os dados do IdP correspondentes à credencial OAuth fornecida. |
firstName | string | O nome da conta. |
lastName | string | O sobrenome da conta. |
fullName | string | O nome completo da conta. |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
idToken | string | Um token de ID do Identity Platform para o usuário autenticado. |
refreshToken | string | Um token de atualização do Identity Platform para o usuário autenticado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
needConfirmation | boolean | Já existe outra conta com a mesma credencial. O usuário precisará fazer login na conta original e, em seguida, vincular a credencial atual. |
Exemplo de solicitação com token de ID do OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Identity Platform e o token de atualização associado
ao usuário autenticado.
Exemplo de resposta com token de ID do OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Exemplo de solicitação com token de acesso OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Identity Platform e o token de atualização associado
ao usuário autenticado.
Exemplo de resposta com o token de acesso OAuth
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Exemplo de solicitação com credencial do Twitter OAuth 1.0
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Identity Platform e o token de atualização associado
ao usuário autenticado.
Exemplo de resposta com credencial OAuth do Twitter 1.0
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Códigos de erro comuns:
- OPERATION_NOT_ALLOWED: o provedor correspondente está desativado para este projeto.
- INVALID_IDP_RESPONSE: a credencial de autenticação fornecida é inválida ou expirou.
Buscar provedores de e-mail
É possível procurar todos os provedores associados a um e-mail especificado enviando uma solicitação HTTP
POST
para o endpoint de createAuthUri
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
identificador | string | Endereço de e-mail do usuário |
continueUri | string | O URI para o qual o IDP redireciona o usuário de volta. Neste caso de uso, apenas o URL atual. |
tenantId | string | O ID do locatário em que o usuário está fazendo login. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
allProviders | Lista de strings | A lista de provedores com os quais o usuário fez login anteriormente. |
registrado | boolean | Se o e-mail é para uma conta atual. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém a lista de provedores associados ao e-mail.
Exemplo de resposta:
{ "allProviders": [ "password", "google.com" ], "registered": true }
Códigos de erro comuns:
- INVALID_EMAIL: o endereço de e-mail está formatado incorretamente.
Enviar e-mail de redefinição de senha
É possível enviar um e-mail de redefinição de senha enviando uma solicitação
POST
HTTP para o endpoint getOobConfirmationCode
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nome da propriedade | Descrição |
---|---|
X-Firebase-Locale | O código de idioma correspondente à localidade do usuário. Passar isso localizará o e-mail de redefinição de senha enviado ao usuário. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
requestType | string | Tipo de código OOB a ser retornado. Precisa ser "PASSWORD_RESET" para a redefinição de senha. |
string | Endereço de e-mail do usuário. | |
tenantId | string | O ID do locatário do usuário que está solicitando a redefinição de senha. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | Endereço de e-mail do usuário. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "email": "[user@example.com]" }
Códigos de erro comuns:
- EMAIL_NOT_FOUND: não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.
Verificar o código de redefinição de senha
É possível verificar um código de redefinição de senha emitindo uma solicitação HTTP
POST
para o endpoint resetPassword
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
oobCode | string | O código de ação de e-mail enviado ao e-mail do usuário para redefinir a senha. |
tenantId | string | O ID do locatário do usuário que está solicitando a redefinição de senha. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | Endereço de e-mail do usuário. | |
requestType | string | Tipo de código de ação de e-mail. Precisa ser "PASSWORD_RESET". |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Códigos de erro comuns:
- OPERATION_NOT_ALLOWED: o login por senha está desativado para este projeto.
- EXPIRED_OOB_CODE: o código da ação expirou.
- INVALID_ coB_CODE: o código de ação é inválido. Isso poderá acontecer se o código estiver incorreto, expirado ou já tiver sido usado.
Confirmar redefinição da senha
É possível aplicar uma alteração de redefinição de senha emitindo uma solicitação HTTP
POST
para o endpoint resetPassword
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
oobCode | string | O código de ação de e-mail enviado ao e-mail do usuário para redefinir a senha. |
newPassword | string | A nova senha do usuário. |
tenantId | string | O ID do locatário do usuário que está solicitando a redefinição de senha. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | Endereço de e-mail do usuário. | |
requestType | string | Tipo de código de ação de e-mail. Precisa ser "PASSWORD_RESET". |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Códigos de erro comuns:
- OPERATION_NOT_ALLOWED: o login por senha está desativado para este projeto.
- EXPIRED_OOB_CODE: o código da ação expirou.
- INVALID_ coB_CODE: o código de ação é inválido. Isso poderá acontecer se o código estiver incorreto, expirado ou já tiver sido usado.
- USER_DISABLED: a conta de usuário foi desativada por um administrador.
Alterar e-mail
É possível alterar o e-mail de um usuário emitindo uma solicitação HTTP
POST
para o endpoint setAccountInfo
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Descrição |
---|---|
X-Firebase-Locale | O código de idioma correspondente à localidade do usuário. Passar isso localizará a revogação da alteração de e-mail enviada ao usuário. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Identity Platform para o usuário. |
string | O novo e-mail do usuário. | |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | Endereço de e-mail do usuário. | |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
idToken | string | Novo token de ID do Identity Platform para o usuário. |
refreshToken | string | Token de atualização do Identity Platform. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[GCIP_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 Identity Platform 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á sendo usado por outra conta.
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
Alterar senha
É possível alterar a senha de um usuário emitindo uma solicitação HTTP
POST
para o endpoint de autenticação setAccountInfo
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Identity Platform para o usuário. |
senha | string | Nova senha do usuário. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | Endereço de e-mail do usuário. | |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
idToken | string | Novo token de ID do Identity Platform para o usuário. |
refreshToken | string | Token de atualização do Identity Platform. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[GCIP_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 Identity Platform 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 precisa fazer login novamente.
- WEAK_PASSWORD: a senha precisa ter seis caracteres ou mais.
Atualizar perfil
É possível atualizar o perfil de um usuário (nome de exibição/URL da foto) enviando uma solicitação HTTP
POST
para o endpoint de autenticação setAccountInfo
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | Um token de ID do Identity Platform para o usuário. |
displayName | string | O novo nome de exibição do usuário. |
photoUrl | string | URL da nova foto do usuário. |
deleteAttribute | Lista de strings | Lista de atributos a serem excluídos, "DISPLAY_NAME" ou "PHOTO_URL". Isso anulará esses valores. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | Endereço de e-mail do usuário. | |
displayName | string | O novo nome de exibição do usuário. |
photoUrl | string | URL da nova foto do usuário. |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
idToken | string | Novo token de ID do Identity Platform para o usuário. |
refreshToken | string | Token de atualização do Identity Platform. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Códigos de erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
Acessar dados do usuário
É possível receber os dados do usuário emitindo uma solicitação HTTP
POST
para o endpoint de autenticação getAccountInfo
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Identity Platform da conta. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
users | Lista de objetos JSON | A conta associada ao token de ID do Identity Platform fornecido. Confira abaixo mais detalhes. |
users
)
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | O e-mail da conta. | |
emailVerified | boolean | Se o e-mail da conta foi verificado ou não. |
displayName | string | Nome de exibição da conta. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
photoUrl | string | O URL da foto da conta. |
passwordHash | string | Versão de hash da senha. |
passwordUpdatedAt | duplo | O carimbo de data/hora, em milissegundos, da última vez que a senha da conta foi alterada. |
validSince | string | O carimbo de data/hora, em segundos, que marca um limite antes do qual os tokens de ID do Identity Platform são considerados revogados. |
desativado | boolean | Se a conta está desativada ou não. |
lastLoginAt | string | O carimbo de data/hora, em milissegundos, em que a conta fez login pela última vez. |
createdAt | string | O carimbo de data/hora, em milissegundos, em que a conta foi criada. |
customAuth | boolean | Se a conta é autenticada pelo desenvolvedor. |
tenantId | string | O ID do locatário do usuário. Retornado somente em multilocação. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta conterá todas as informações do usuário associadas à conta.
Exemplo de resposta:
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
Códigos de erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- USER_NOT_FOUND: não há registros de usuário correspondentes a este identificador. O usuário pode ter sido excluído.
Vincular com e-mail/senha
É possível vincular um e-mail/senha a um usuário atual emitindo uma solicitação POST
HTTP
para o endpoint setAccountInfo
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Identity Platform da conta que você está tentando vincular à credencial. |
string | O e-mail a ser vinculado à conta. | |
senha | string | A nova senha da conta. |
returnSecureToken | string | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | O e-mail da conta. | |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
emailVerified | boolean | Se o e-mail da conta foi verificado ou não. |
idToken | string | Novo token de ID do Identity Platform para o usuário. |
refreshToken | string | Token de atualização do Identity Platform. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
. A resposta contém o token de ID do Identity Platform e o token de atualização associado ao
usuário autenticado.
Exemplo de resposta:
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
Códigos de erro comuns:
- CREDENTIAL_TOO_OLD_LOGIN_ASURE: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- TOKEN_EXPIRED: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- WEAK_PASSWORD: a senha precisa ter seis caracteres ou mais.
Vincular com a credencial OAuth
Você pode vincular uma credencial OAuth a um usuário emitindo uma solicitação HTTP
POST
para o endpoint de autenticação verifyAssertion
.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Identity Platform da conta que você está tentando vincular à credencial. |
requestUri | string | O URI para o qual o IDP redireciona o usuário de volta. |
postBody | string | Contém a credencial do OAuth (um token de ID ou token de acesso) e o ID do provedor que emite a credencial. |
returnSecureToken | boolean | Indica se é necessário retornar um ID e atualizar o token. Precisa ser sempre verdadeiro. |
returnIdpCredential | boolean | Define se o retorno da credencial do OAuth será forçado nos seguintes erros: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
federatedId | string | O ID exclusivo identifica a conta do IdP. |
providerId | string | O código do provedor vinculado (por exemplo, "google.com" para o provedor Google). |
localId | string | O uid do usuário autenticado. |
emailVerified | boolean | Se o e-mail de login foi verificado. |
string | O e-mail da conta. | |
oauthIdToken | string | O token de ID do OIDC, se disponível. |
oauthAccessToken | string | O token de acesso do OAuth, se disponível. |
oauthTokenSecret | string | O secret do token OAuth 1.0, se disponível. |
rawUserInfo | string | A resposta JSON em string que contém todos os dados do IdP correspondentes à credencial OAuth fornecida. |
firstName | string | O nome da conta. |
lastName | string | O sobrenome da conta. |
fullName | string | O nome completo da conta. |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
idToken | string | Um token de ID do Identity Platform para o usuário autenticado. |
refreshToken | string | Um token de atualização do Identity Platform para o usuário autenticado. |
expiresIn | string | O número de segundos em que o token de ID expira. |
Exemplo de solicitação com token de ID do OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[GCIP_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 Identity Platform e o token de atualização associado
ao usuário autenticado.
Exemplo de resposta com token de ID do OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Exemplo de solicitação com token de acesso OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[GCIP_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 Identity Platform e o token de atualização associado
ao usuário autenticado.
Exemplo de resposta com o token de acesso OAuth
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Exemplo de solicitação com credencial do Twitter OAuth 1.0
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[GCIP_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 Identity Platform e o token de atualização associado
ao usuário autenticado.
Exemplo de resposta com credencial OAuth do Twitter 1.0
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Códigos de erro comuns:
- OPERATION_NOT_ALLOWED: o provedor correspondente está desativado para este projeto.
- INVALID_IDP_RESPONSE: a credencial de autenticação fornecida é inválida ou expirou.
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- EMAIL_EXISTS: o endereço de e-mail já está sendo usado por outra conta.
- FEDERATED_USER_ID_ALREADY_LINKED: esta credencial já está associada a uma conta de usuário diferente.
Desvincular provedor
É possível desvincular um provedor de um usuário atual emitindo uma solicitação
POST
HTTP para o endpoint setAccountInfo
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Identity Platform da conta. |
deleteProvider | Lista de strings | A lista dos IDs de provedor para desvincular, por exemplo: "google.com", "senha" etc. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | string | O uid do usuário atual. |
string | O e-mail da conta. | |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
passwordHash | string | Versão de hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
emailVerified | boolean | Se o e-mail da conta foi verificado ou não. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[GCIP_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
Códigos de erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
Enviar verificação de e-mail
É possível enviar uma verificação de e-mail para o usuário atual emitindo uma solicitação POST
HTTP para o endpoint getOobConfirmationCode
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Nome da propriedade | Descrição |
---|---|
X-Firebase-Locale | O código de idioma correspondente à localidade do usuário. Passar isso localizará a verificação de e-mail enviada ao usuário. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
requestType | string | O tipo de código de confirmação a ser enviado. Sempre precisa ser "VERIFY_EMAIL". |
idToken | string | O token de ID do Identity Platform do usuário a ser verificado. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | O e-mail da conta. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[GCIP_ID_TOKEN]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "email": "user@example.com" }
Códigos de erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- USER_NOT_FOUND: não há registros de usuário correspondentes a este identificador. O usuário pode ter sido excluído.
Confirmar a verificação por e-mail
Confirme um código de verificação de e-mail emitindo uma solicitação HTTP
POST
para o endpoint setAccountInfo
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
oobCode | string | O código de ação enviado ao e-mail do usuário para verificação de e-mail. |
tenantId | string | O ID de locatário do usuário que verifica o e-mail. Usado apenas em multilocações. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
string | O e-mail da conta. | |
displayName | string | Nome de exibição da conta. |
photoUrl | string | O URL da foto da conta. |
passwordHash | string | O hash da senha. |
providerUserInfo | Lista de objetos JSON | Lista de todos os objetos de provedor vinculados que contêm "providerId" e "federatedId". |
emailVerified | boolean | Se o e-mail da conta foi verificado ou não. |
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Exemplo de resposta:
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Códigos de erro comuns:
- EXPIRED_OOB_CODE: o código da ação expirou.
- INVALID_ coB_CODE: o código de ação é inválido. Isso poderá acontecer se o código estiver incorreto, expirado ou já tiver sido usado.
- USER_DISABLED: a conta de usuário foi desativada por um administrador.
- EMAIL_NOT_FOUND: não há registro de usuário correspondente a este identificador. O usuário pode ter sido excluído.
Excluir conta
É possível excluir um usuário atual emitindo uma solicitação HTTP
POST
para o endpoint deleteAccount
de autenticação.
Método: POST
Tipo de conteúdo: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | string | O token de ID do Identity Platform do usuário a ser excluído. |
Nome da propriedade | Tipo | Descrição |
---|
Exemplo de solicitação
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'
Uma solicitação bem-sucedida é indicada por um código de status
HTTP 200 OK
.
Códigos de erro comuns:
- INVALID_ID_TOKEN: a credencial do usuário não é mais válida. O usuário precisa fazer login novamente.
- USER_NOT_FOUND: não há registros de usuário correspondentes a este identificador. O usuário pode ter sido excluído.
Como processar os erros
Confira a seguir um exemplo de erro comum retornado pelo Identity Platform:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
}
],
"code": 400,
"message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
}
}
Consiga o código de erro do campo message
.