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:
Aceda à página Fornecedores de identidade na Google Cloud consola.
Aceda à página Fornecedores de identidadeClique em Detalhes da configuração da aplicação.
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
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. |
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. |
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 finalhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
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. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | de string | Um token de ID da Identity Platform para o utilizador recém-criado. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | de string | Um token de ID da Identity Platform para o utilizador autenticado. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | de string | Um token de ID da Identity Platform para o utilizador recém-criado. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
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. |
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. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
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. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
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. |
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. |
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | de string | Um token de ID da Identity Platform para o utilizador. |
de string | O novo email do utilizador. | |
returnSecureToken | booleano | Se deve ou não devolver um ID e um token de atualização. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | de string | O UID do utilizador atual. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | de string | O UID do utilizador atual. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | de string | O UID do utilizador atual. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | de string | O token de ID da Identity Platform da conta. |
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. |
users
)
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | de string | O UID do utilizador atual. |
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.
Associe com email/palavra-passe
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | de string | O UID do utilizador atual. |
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.
Associe com credenciais OAuth
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
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. |
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. |
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.
Desassocie o fornecedor
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
localId | de string | O UID do utilizador atual. |
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
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. |
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Nome da propriedade | Tipo | Descrição |
---|---|---|
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 finalhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Nome da propriedade | Tipo | Descrição |
---|---|---|
idToken | de string | O símbolo de ID da Identity Platform do utilizador a eliminar. |
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
.