Utilizzo dell'API REST

Questo documento mostra come eseguire le operazioni utente più comuni, come l'accesso degli utenti e l'uso dei token, utilizzando l'API REST Identity Platform.

Prima di iniziare

Per utilizzare l'API REST, devi avere una chiave API Identity Platform. Per ottenere una chiave:

  1. Vai alla pagina Provider di identità nella console Google Cloud.
    Vai alla pagina Provider di identità

  2. Fai clic su Dettagli di configurazione dell'applicazione.

  3. Copia il campo apiKey.

Tieni presente che HTTPS è obbligatorio per tutte le chiamate API.

Chiamata all'API

Scambia token personalizzato per un ID e token di aggiornamento

Puoi scambiare un token di autenticazione personalizzato con un ID e un token di aggiornamento inviando una richiesta POST HTTP all'endpoint signInWithCustomToken.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
token string Un token personalizzato di Identity Platform da cui creare una coppia di token ID e di aggiornamento.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
tenantId string L'ID tenant a cui l'utente sta accedendo. Utilizzato solo in multitenancy.
Deve corrispondere al tenant_id nel token.
Affermazioni di token personalizzati
Proprietà Nome Descrizione
alg Algoritmo Deve essere RS256.
iss Emittente L'indirizzo email dell'account di servizio del progetto.
Pub/Sub. Oggetto L'indirizzo email dell'account di servizio del progetto.
Aud Pubblico https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit
iat Data di emissione L'ora corrente, in secondi dall'epoca di UNIX.
exp Scadenza Il tempo, in secondi, dall'epoca di UNIX, in cui scade il token. Può essere un massimo 3600 secondi dopo rispetto a iat.
Nota: questa opzione controlla solo il momento in cui scade il token personalizzato stesso. Tuttavia, una volta effettuato l'accesso utilizzando signInWithCustomToken(), l'utente rimarrà connesso al dispositivo fino a quando la sua sessione non verrà invalidata o l'utente non escerà.
uid ID utente L'identificatore univoco dell'utente di lunghezza compresa tra 1 e 36 caratteri.
tenant_id ID tenant L'identificatore del tenant a cui l'utente accede.
rivendicazioni (facoltativo) Attestazioni personalizzate facoltative da includere nelle variabili auth o request.auth delle regole di sicurezza.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token Identity Platform ID generato dal token personalizzato fornito.
refreshToken string Un token di aggiornamento di Identity Platform generato dal token personalizzato fornito.
expiresIn string Il numero di secondi in cui scade il token ID.

Richiesta di esempio

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati al token personalizzato.

Esempio di risposta

{
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Codici di errore comuni

  • INVALID_CUSTOM_TOKEN: il formato del token personalizzato non è corretto o il token non è valido per qualche motivo (ad esempio scaduto, firma non valida e così via)
  • CREDENTIAL_MISMATCH: il token personalizzato corrisponde a un altro progetto Google Cloud.

Scambiare un token di aggiornamento con un token ID

Puoi aggiornare un token ID piattaforma di identità inviando una richiesta POST HTTP all'endpoint securetoken.googleapis.com.

Metodo: POST

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

Endpoint
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
grant_type string Il tipo di autorizzazione del token di aggiornamento, sempre "refresh_token".
refresh_token string Un token di aggiornamento di Identity Platform.
Payload risposta
Nome proprietà Tipo Descrizione
expires_in string Il numero di secondi in cui scade il token ID.
token_type string Il tipo di token di aggiornamento, sempre "Bearer".
refresh_token string Il token di aggiornamento di Identity Platform fornito nella richiesta o un nuovo token di aggiornamento.
id_token string Un token Identity Platform ID.
user_id string L'UID corrispondente al token ID fornito.
project_id string L'ID del tuo progetto Google Cloud.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il nuovo token ID di Identity Platform e il token di aggiornamento.

Esempio di risposta

{
  "expires_in": "3600",
  "token_type": "Bearer",
  "refresh_token": "[REFRESH_TOKEN]",
  "id_token": "[ID_TOKEN]",
  "user_id": "tRcfmLH7o2XrNELi...",
  "project_id": "1234567890"
}

Codici di errore comuni

  • TOKEN_EXPIRED: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • USER_DISABLED: l'account utente è stato disattivato da un amministratore.
  • USER_NOT_FOUND: l'utente corrispondente al token di aggiornamento non è stato trovato. È probabile che l'utente sia stato eliminato.
  • Chiave API non valida. Inserisci una chiave API valida. (chiave API fornita non valida)
  • INVALID_REFRESH_TOKEN: viene fornito un token di aggiornamento non valido.
  • Payload JSON non valido ricevuto. Nome sconosciuto \"refresh_tokens\": impossibile associare il parametro di query. Impossibile trovare il campo "refresh_tokens" nel messaggio di richiesta.
  • INVALID_GRANT_TYPE: il tipo di autorizzazione specificato non è valido.
  • MISSING_REFRESH_TOKEN: nessun token di aggiornamento fornito.
  • PROJECT_NUMBER_MISMATCH: il numero di progetto del token di aggiornamento non corrisponde a quello della chiave API fornita.

Registrati con email / password

Puoi creare un nuovo utente con indirizzo email e password inviando una richiesta POST HTTP all'endpoint di autenticazione signupNewUser.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
email string L'email che l'utente dovrà creare.
password string La password che l'utente dovrà creare.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
tenantId string L'ID tenant dell'utente da creare. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID piattaforma di identità per l'utente appena creato.
email string L'email dell'utente appena creato.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente appena creato.
expiresIn string Il numero di secondi in cui scade il token ID.
localId string L'UID dell'utente appena creato.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati al nuovo account.

Esempio di risposta

{
  "idToken": "[ID_TOKEN]",
  "email": "[user@example.com]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "tRcfmLH7..."
}

Codici di errore comuni

  • EMAIL_EXISTS: l'indirizzo email è già utilizzato da un altro account.
  • OPERATION_NOT_ALLOWED: l'accesso con password è disabilitato per questo progetto.
  • TOO_MANY_ATTEMPTS_TRY_LATER: Abbiamo bloccato tutte le richieste da questo dispositivo a causa di attività insolite. Riprova più tardi.

Accedi con email / password

Puoi accedere a un utente con un indirizzo email e una password inviando una richiesta POST HTTP all'endpoint di autenticazione verifyPassword.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
email string L'indirizzo email con cui l'utente sta eseguendo l'accesso.
password string La password dell'account.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
tenantId string L'ID tenant a cui l'utente sta accedendo. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID piattaforma di Identity per l'utente autenticato.
email string L'email dell'utente autenticato.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente autenticato.
expiresIn string Il numero di secondi in cui scade il token ID.
localId string L'UID dell'utente autenticato.
registrato boolean Se l'indirizzo email è per un account esistente.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID di Identity Platform e il token di aggiornamento associati all'account email/password esistente.

Esempio di risposta

{
  "localId": "ZY1rJK0eYLg...",
  "email": "[user@example.com]",
  "displayName": "",
  "idToken": "[ID_TOKEN]",
  "registered": true,
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Codici di errore comuni

  • EMAIL_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
  • INVALID_PASSWORD: la password non è valida o l'utente non dispone di una password.
  • USER_DISABLED: l'account utente è stato disattivato da un amministratore.

Accedi in modo anonimo

Puoi accedere a un utente in modo anonimo inviando una richiesta POST HTTP all'endpoint di autenticazione signupNewUser.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
tenantId string L'ID tenant a cui l'utente sta accedendo. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID piattaforma di identità per l'utente appena creato.
email string Poiché l'utente è anonimo, il campo deve essere vuoto.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente appena creato.
expiresIn string Il numero di secondi in cui scade il token ID.
localId string L'UID dell'utente appena creato.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID di Identity Platform e il token di aggiornamento associati all'utente anonimo.

Esempio di risposta

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

Codici di errore comuni

  • OPERATION_NOT_ALLOWED: accesso utente anonimo è disabilitato per questo progetto.

Accedi con credenziale OAuth

Puoi accedere a un utente con una credenziale OAuth inviando una richiesta POST HTTP all'endpoint di autenticazione verifyAssertion.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
requestUri string L'URI a cui l'IdP reindirizza l'utente.
postBody string Contiene la credenziale OAuth (un token ID o un token di accesso) e l'ID provider che rilascia la credenziale.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
returnIdpCredential boolean Indica se forzare la restituzione della credenziale OAuth nei seguenti errori: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
tenantId string L'ID tenant a cui l'utente sta accedendo. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
federatedId string L'ID univoco identifica l'account IdP.
providerId string L'ID del provider collegato (ad es. "google.com" per il provider Google).
localId string L'UID dell'utente autenticato.
emailVerified boolean Se l'indirizzo email di accesso è stato verificato.
email string L'indirizzo email dell'account.
oauthIdToken string Il token ID OIDC, se disponibile.
oauthAccessToken string Il token di accesso OAuth, se disponibile.
oauthTokenSecret string Il secret del token OAuth 1.0, se disponibile.
rawUserInfo string La risposta JSON stringata contenente tutti i dati dell'IdP corrispondenti alla credenziale OAuth fornita.
firstName string Il nome dell'account.
lastName string Il cognome dell'account.
fullName string Il nome completo dell'account.
displayName string Il nome visualizzato per l'account.
photoUrl string L'URL della foto dell'account.
idToken string Un token ID piattaforma di Identity per l'utente autenticato.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente autenticato.
expiresIn string Il numero di secondi in cui scade il token ID.
needConfirmation boolean Indica se esiste già un altro account con la stessa credenziale. L'utente dovrà accedere all'account originale e collegarlo alla credenziale attuale.

Esempio di richiesta con token ID OAuth

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.

Esempio di risposta con token 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\", ...}"
}

Esempio di richiesta con token di accesso 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}'

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.

Esempio di risposta con token di accesso 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\", ...}"
}

Richiesta di esempio con credenziale OAuth 1.0 di 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}'

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.

Esempio di risposta con credenziale OAuth 1.0 di 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\", ...}"
}

Codici di errore comuni

  • OPERATION_NOT_ALLOWED: il provider corrispondente è disabilitato per questo progetto.
  • INVALID_IDP_ANSWER: la credenziale di autenticazione fornita non è valida o è scaduta.

Provider di recupero per l'email

Puoi cercare tutti i provider associati a un'email specificata inviando una richiesta POST HTTP all'endpoint di autenticazione createAuthUri.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
identificatore string Indirizzo email dell'utente
continueUri string L'URI a cui l'IdP reindirizza l'utente. Per questo caso d'uso, si tratta solo dell'URL corrente.
tenantId string L'ID tenant a cui l'utente sta accedendo. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
allProviders Elenco di stringhe L'elenco dei fornitori con cui l'utente ha eseguito l'accesso in precedenza.
registrato boolean Se l'indirizzo email è per un account esistente

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene l'elenco dei provider associati all'email.

Esempio di risposta

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

Codici di errore comuni

  • INVALID_EMAIL: il formato dell'indirizzo email non è corretto.

Invia e-mail di reimpostazione password

Puoi inviare un'email di reimpostazione della password inviando una richiesta POST HTTP all'endpoint di autenticazione getOobConfirmationCode.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Intestazioni facoltative
Nome proprietà Descrizione
X-Firebase-Locale Il codice della lingua corrispondente alle impostazioni internazionali dell'utente. Se superi questa operazione, l'email di reimpostazione della password inviata all'utente verrà localizzata.
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
requestType string Il tipo di codice OOB da restituire. Il valore deve essere "PASSWORD_RESET" per la reimpostazione della password.
email string Indirizzo email dell'utente.
tenantId string L'ID tenant dell'utente che richiede la reimpostazione della password. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
email string Indirizzo email dell'utente.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK.

Esempio di risposta

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

Codici di errore comuni

  • EMAIL_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.

Verifica il codice di reimpostazione della password

Puoi verificare un codice di reimpostazione della password inviando una richiesta POST HTTP all'endpoint di autenticazione resetPassword.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
oobCode string Il codice di azione e-mail inviato all'indirizzo email dell'utente per reimpostare la password.
tenantId string L'ID tenant dell'utente che richiede la reimpostazione della password. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
email string Indirizzo email dell'utente.
requestType string Tipo di codice di azione dell'email. Deve essere "PASSWORD_RESET".

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK.

Esempio di risposta

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

Codici di errore comuni

  • OPERATION_NOT_ALLOWED: l'accesso con password è disabilitato per questo progetto.
  • EXPIRED_OOB_CODE: il codice di azione è scaduto.
  • INVALID_OOB_CODE: il codice di azione non è valido. Ciò può accadere se il codice non è corretto, è scaduto o è già stato utilizzato.

Conferma reimpostazione password

Puoi applicare una modifica di reimpostazione della password inviando una richiesta POST HTTP all'endpoint di autenticazione resetPassword.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
oobCode string Il codice di azione e-mail inviato all'indirizzo email dell'utente per reimpostare la password.
newPassword string La nuova password dell'utente.
tenantId string L'ID tenant dell'utente che richiede la reimpostazione della password. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
email string Indirizzo email dell'utente.
requestType string Tipo di codice di azione dell'email. Deve essere "PASSWORD_RESET".

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK.

Esempio di risposta

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

Codici di errore comuni

  • OPERATION_NOT_ALLOWED: l'accesso con password è disabilitato per questo progetto.
  • EXPIRED_OOB_CODE: il codice di azione è scaduto.
  • INVALID_OOB_CODE: il codice di azione non è valido. Ciò può accadere se il codice non è corretto, è scaduto o è già stato utilizzato.
  • USER_DISABLED: l'account utente è stato disattivato da un amministratore.

Modifica email

Puoi modificare l'email di un utente inviando una richiesta POST HTTP all'endpoint di autenticazione setAccountInfo.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Intestazioni facoltative
Nome proprietà Descrizione
X-Firebase-Locale Il codice della lingua corrispondente alle impostazioni internazionali dell'utente. Se superi questa operazione, la revoca della modifica dell'indirizzo email inviata all'utente verrà localizzata.
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Un token Identity Platform ID per l'utente.
email string Il nuovo indirizzo email dell'utente.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento.
Payload risposta
Nome proprietà Tipo Descrizione
localId string L'UID dell'utente corrente.
email string Indirizzo email dell'utente.
passwordHash string Versione con hash della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId".
idToken string Nuovo token ID piattaforma di identità per l'utente.
refreshToken string Un token di aggiornamento di Identity Platform.
expiresIn string Il numero di secondi in cui scade il token ID.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il nuovo token ID di Identity Platform e il token di aggiornamento associato all'utente.

Esempio di risposta

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example2.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example2.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Codici di errore comuni

  • EMAIL_EXISTS: l'indirizzo email è già utilizzato da un altro account.
  • INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.

Cambia password

Puoi modificare la password di un utente inviando una richiesta POST HTTP all'endpoint di autenticazione setAccountInfo.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Un token Identity Platform ID per l'utente.
password string Nuova password dell'utente.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento.
Payload risposta
Nome proprietà Tipo Descrizione
localId string L'UID dell'utente corrente.
email string Indirizzo email dell'utente.
passwordHash string Versione hash della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId".
idToken string Nuovo token ID piattaforma di identità per l'utente.
refreshToken string Un token di aggiornamento di Identity Platform.
expiresIn string Il numero di secondi in cui scade il token ID.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il nuovo token ID di Identity Platform e il token di aggiornamento associato all'utente.

Esempio di risposta

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Codici di errore comuni

  • INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • WEAK_PASSWORD: la password deve contenere almeno 6 caratteri.

Aggiorna profilo

Puoi aggiornare il profilo di un utente (nome visualizzato / URL della foto) inviando una richiesta POST HTTP all'endpoint di autenticazione setAccountInfo.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Un token Identity Platform ID per l'utente.
displayName string Nuovo nome visualizzato dell'utente.
photoUrl string URL della nuova foto dell'utente.
deleteAttribute Elenco di stringhe Elenco di attributi da eliminare, "DISPLAY_NAME" o "PHOTO_URL". Questi valori verranno annullati.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento.
Payload risposta
Nome proprietà Tipo Descrizione
localId string L'UID dell'utente corrente.
email string Indirizzo email dell'utente.
displayName string Nuovo nome visualizzato dell'utente.
photoUrl string URL della nuova foto dell'utente.
passwordHash string Versione hash della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId".
idToken string Nuovo token ID piattaforma di identità per l'utente.
refreshToken string Un token di aggiornamento di Identity Platform.
expiresIn string Il numero di secondi in cui scade il token ID.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK.

Esempio di risposta

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

Codici di errore comuni

  • INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.

Recuperare i dati degli utenti

Puoi ottenere i dati di un utente inviando una richiesta POST HTTP all'endpoint di autenticazione getAccountInfo.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Il token ID piattaforma di identità dell'account.
Payload risposta
Nome proprietà Tipo Descrizione
utenti Elenco di oggetti JSON L'account associato al token ID Identity Platform specificato. Continua a leggere per ulteriori dettagli.
Payload risposta (users contenuto array)
Nome proprietà Tipo Descrizione
localId string L'UID dell'utente corrente.
email string L'indirizzo email dell'account.
emailVerified boolean Indica se l'email dell'account è stata verificata.
displayName string Il nome visualizzato per l'account.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId".
photoUrl string L'URL della foto dell'account.
passwordHash string Versione hash della password.
passwordUpdatedAt double Il timestamp, in millisecondi, dell'ultima modifica della password dell'account.
validSince string Il timestamp, in secondi, che contrassegna un confine, prima del quale i token ID di Identity Platform sono considerati revocati.
disabilitato boolean Indica se l'account è disattivato o meno.
lastLoginAt string Il timestamp, in millisecondi, in cui l'account ha effettuato l'ultimo accesso.
createdAt string Il timestamp, in millisecondi, in cui è stato creato l'account.
customAuth boolean Indica se l'account è autenticato dallo sviluppatore.
tenantId string L'ID tenant dell'utente. Restituito solo in multi-tenancy.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta conterrà tutte le informazioni utente associate all'account.

Esempio di risposta

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

Codici di errore comuni

  • INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • USER_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.

Puoi collegare un'email o una password a un utente corrente inviando una richiesta POST HTTP all'endpoint di autenticazione setAccountInfo.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Il token ID piattaforma di identità dell'account a cui stai tentando di collegare la credenziale.
email string L'indirizzo email per il collegamento all'account.
password string La nuova password dell'account.
returnSecureToken string Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
Payload risposta
Nome proprietà Tipo Descrizione
localId string L'UID dell'utente corrente.
email string L'indirizzo email dell'account.
displayName string Il nome visualizzato per l'account.
photoUrl string L'URL della foto dell'account.
passwordHash string Versione hash della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId".
emailVerified boolean Indica se l'email dell'account è stata verificata.
idToken string Nuovo token ID piattaforma di identità per l'utente.
refreshToken string Un token di aggiornamento di Identity Platform.
expiresIn string Il numero di secondi in cui scade il token ID.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.

Esempio di risposta

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

Codici di errore comuni

  • CREDENTIAL_TOO_OLD_Accedi_AGAIN: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • TOKEN_EXPIRED: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • WEAK_PASSWORD: la password deve contenere almeno 6 caratteri.

Puoi collegare una credenziale OAuth a un utente inviando una richiesta POST HTTP all'endpoint di autenticazione verifyAssertion.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Il token ID piattaforma di identità dell'account a cui stai tentando di collegare la credenziale.
requestUri string L'URI a cui l'IdP reindirizza l'utente.
postBody string Contiene la credenziale OAuth (un token ID o un token di accesso) e l'ID provider che rilascia la credenziale.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
returnIdpCredential boolean Indica se forzare la restituzione della credenziale OAuth nei seguenti errori: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
Payload risposta
Nome proprietà Tipo Descrizione
federatedId string L'ID univoco identifica l'account IdP.
providerId string L'ID del provider collegato (ad es. "google.com" per il provider Google).
localId string L'UID dell'utente autenticato.
emailVerified boolean Se l'email di accesso è stata verificata.
email string L'indirizzo email dell'account.
oauthIdToken string Il token ID OIDC, se disponibile.
oauthAccessToken string Il token di accesso OAuth, se disponibile.
oauthTokenSecret string Il secret del token OAuth 1.0, se disponibile.
rawUserInfo string La risposta JSON stringata contenente tutti i dati dell'IdP corrispondenti alla credenziale OAuth fornita.
firstName string Il nome dell'account.
lastName string Il cognome dell'account.
fullName string Il nome completo dell'account.
displayName string Il nome visualizzato per l'account.
photoUrl string L'URL della foto dell'account.
idToken string Un token ID piattaforma di Identity per l'utente autenticato.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente autenticato.
expiresIn string Il numero di secondi in cui scade il token ID.

Esempio di richiesta con token ID OAuth

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.

Esempio di risposta con token 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\", ...}"
}

Esempio di richiesta con token di accesso 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}'

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.

Esempio di risposta con token di accesso 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\", ...}"
}

Richiesta di esempio con credenziale OAuth 1.0 di 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}'

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.

Esempio di risposta con credenziale OAuth 1.0 di 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\", ...}"
}

Codici di errore comuni

  • OPERATION_NOT_ALLOWED: il provider corrispondente è disabilitato per questo progetto.
  • INVALID_IDP_ANSWER: la credenziale di autenticazione fornita non è valida o è scaduta.
  • INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • EMAIL_EXISTS: l'indirizzo email è già utilizzato da un altro account.
  • FEDERATED_USER_ID_ALREADY_LINKED: Questa credenziale è già associata a un altro account utente.

Puoi scollegare un provider da un utente corrente inviando una richiesta POST HTTP all'endpoint di autenticazione setAccountInfo.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Il token ID piattaforma di identità dell'account.
deleteProvider Elenco di stringhe L'elenco di ID provider da scollegare, ad es. "google.com", "password" e così via.
Payload risposta
Nome proprietà Tipo Descrizione
localId string L'UID dell'utente corrente.
email string L'indirizzo email dell'account.
displayName string Il nome visualizzato per l'account.
photoUrl string L'URL della foto dell'account.
passwordHash string Versione con hash della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId".
emailVerified boolean Indica se l'email dell'account è stata verificata.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK.

Esempio di risposta

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

Codici di errore comuni

  • INVALID_ID_TOKEN: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.

Invia verifica email

Puoi inviare una verifica email per l'utente corrente inviando una richiesta POST HTTP all'endpoint di autenticazione getOobConfirmationCode.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Intestazioni facoltative
Nome proprietà Descrizione
X-Firebase-Locale Il codice della lingua corrispondente alle impostazioni internazionali dell'utente. Se superi questa operazione, la verifica email inviata all'utente verrà localizzata.
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
requestType string Il tipo di codice di conferma da inviare. Deve sempre essere "VERIFY_EMAIL".
idToken string Il token ID piattaforma di identità dell'utente da verificare.
Payload risposta
Nome proprietà Tipo Descrizione
email string L'indirizzo email dell'account.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK.

Esempio di risposta

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

Codici di errore comuni

  • INVALID_ID_TOKEN: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • USER_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.

Conferma la verifica email

Puoi confermare un codice di verifica email inviando una richiesta POST HTTP all'endpoint di autenticazione setAccountInfo.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
oobCode string Il codice di azione inviato all'indirizzo email dell'utente per la verifica email.
tenantId string L'ID tenant dell'utente che verifica l'email. Utilizzata solo nell'architettura multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
email string L'indirizzo email dell'account.
displayName string Il nome visualizzato per l'account.
photoUrl string L'URL della foto dell'account.
passwordHash string L'hash della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId".
emailVerified boolean Indica se l'email dell'account è stata verificata.

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK.

Esempio di risposta

{
  "localId": "FhyStE...",
  "email": "user@example.com",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ]
}

Codici di errore comuni

  • EXPIRED_OOB_CODE: il codice di azione è scaduto.
  • INVALID_OOB_CODE: il codice di azione non è valido. Ciò può accadere se il codice non è corretto, è scaduto o è già stato utilizzato.
  • USER_DISABLED: l'account utente è stato disattivato da un amministratore.
  • EMAIL_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.

Elimina account

Puoi eliminare un utente corrente inviando una richiesta POST HTTP all'endpoint di autenticazione deleteAccount.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Il token ID piattaforma di identità dell'utente da eliminare.
Payload risposta
Nome proprietà Tipo Descrizione

Richiesta di esempio

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

Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK.

Codici di errore comuni

  • INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • USER_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.

Gestione degli errori

Di seguito è riportato un esempio di errore comune restituito da Identity Platform:

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

Ottieni il codice di errore dal campo message.