Utilizzo dell'API REST

Questo documento mostra come eseguire operazioni comuni sugli utenti, come accedere e gestire i token, utilizzando l'API REST di 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

Scambiare il token personalizzato con un ID e un token di aggiornamento

Puoi scambiare un token di autenticazione personalizzato con un token ID e di aggiornamento inviando una richiesta HTTP POST 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 a tenant_id nel token.
Claim dei 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/ora di emissione L'ora corrente, in secondi dall'epoca UNIX.
exp Scadenza La data e l'ora in cui scade il token, espressa in secondi dall'epoca UNIX. Deve essere al massimo 3600 secondi dopo il valore iat.
Nota: questo controlla solo la data di scadenza del token personalizzato stesso. Tuttavia, una volta che un utente ha eseguito l'accesso utilizzando signInWithCustomToken(), l'accesso al dispositivo rimarrà attivo finché la sessione non viene invalidata o l'utente non si disconnette.
uid ID utente L'identificatore univoco dell'utente, con una lunghezza compresa tra 1 e 36 caratteri.
tenant_id ID tenant L'identificatore del tenant a cui l'utente sta accedendo.
claims (facoltativo) Dichiarazioni personalizzate facoltative da includere nelle variabili auth o request.auth delle regole di sicurezza.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID di Identity Platform 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 dopo i quali 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati al token personalizzato.

Risposta di esempio

{
  "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 es. 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 di Identity Platform inviando una richiesta HTTP POST 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 concessione 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 dopo i quali 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 ID di Identity Platform.
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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il nuovo token ID e il token di aggiornamento di Identity Platform.

Risposta di esempio

{
  "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. Passa una chiave API valida. (chiave API non valida fornita)
  • INVALID_REFRESH_TOKEN: è stato fornito un token di aggiornamento non valido.
  • Payload JSON non valido ricevuto. Nome sconosciuto "refresh_tokens": impossibile associare il parametro della query. Impossibile trovare il campo "refresh_tokens" nel messaggio di richiesta.
  • INVALID_GRANT_TYPE: il tipo di concessione 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 HTTP POST all'endpoint Auth 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'indirizzo email da creare per l'utente.
password string La password che l'utente deve 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. Utilizzato solo in multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID di Identity Platform per l'utente appena creato.
email string L'indirizzo email del nuovo utente creato.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente appena creato.
expiresIn string Il numero di secondi dopo i quali 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati al nuovo account.

Risposta di esempio

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

Codici di errore comuni

  • EMAIL_EXISTS: l'indirizzo email è già in uso da un altro account.
  • OPERATION_NOT_ALLOWED: l'accesso con password è disattivato 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 far accedere un utente con un'email e una password inviando una richiesta HTTP POST all'endpoint Auth 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 accede.
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. Utilizzato solo in multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID Identity Platform per l'utente autenticato.
email string L'indirizzo email dell'utente autenticato.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente autenticato.
expiresIn string Il numero di secondi dopo i quali scade il token ID.
localId string L'uid dell'utente autenticato.
registrato boolean Indica se l'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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati all'account email/password esistente.

Risposta di esempio

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

Codici di errore comuni

  • EMAIL_NOT_FOUND: non esiste un 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.

Accedere in modo anonimo

Puoi far accedere un utente in forma anonima inviando una richiesta HTTP POST all'endpoint Auth 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. Utilizzato solo in multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID di Identity Platform per l'utente appena creato.
email string Poiché l'utente è anonimo, questo campo deve essere vuoto.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente appena creato.
expiresIn string Il numero di secondi dopo i quali 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati all'utente anonimo.

Risposta di esempio

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

Codici di errore comuni

  • OPERATION_NOT_ALLOWED: l'accesso degli utenti anonimi è disattivato per questo progetto.

Accedi con le credenziali OAuth

Puoi far accedere un utente con una credenziale OAuth inviando una richiesta HTTPPOST all'endpoint Auth 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 emette la credenziale.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
returnIdpCredential boolean Indica se forzare il ritorno della credenziale OAuth in caso di seguenti errori: FEDERATED_USER_ID_ALREADY_LINKED ed EMAIL_EXISTS.
tenantId string L'ID tenant a cui l'utente sta accedendo. Utilizzato solo in multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
federatedId string L'ID univoco identifica l'account IdP.
providerId string L'ID fornitore collegato (ad es. "google.com" per il fornitore Google).
localId string L'uid dell'utente autenticato.
emailVerified boolean Indica se l'indirizzo email di accesso è 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 con stringa contenente tutti i dati dell'identità digitale corrispondenti alla credenziale OAuth fornita.
firstName string Il nome dell'account.
lastName string Il cognome associato all'account.
fullName string Il nome completo dell'account.
displayName string Il nome visualizzato dell'account.
photoUrl string L'URL della foto per l'account.
idToken string Un token ID di Identity Platform per l'utente autenticato.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente autenticato.
expiresIn string Il numero di secondi dopo i quali scade il token ID.
needConfirmation boolean Indica se esiste già un altro account con le stesse credenziali. L'utente dovrà accedere all'account originale e collegare le credenziali attuali.

Richiesta di esempio 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati all'utente autenticato.

Risposta di esempio 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\", ...}"
}

Richiesta di esempio 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati all'utente autenticato.

Risposta di esempio 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati all'utente autenticato.

Risposta di esempio 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 è disattivato per questo progetto.
  • INVALID_IDP_RESPONSE: le credenziali di autenticazione fornite non sono valide o sono scadute.

Recupera i provider per l'email

Puoi visualizzare tutti i provider associati a un'email specificata inviando una richiesta HTTPPOST all'endpoint Auth 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. Utilizzato solo in 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 Indica se l'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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene l'elenco dei fornitori associati all'email.

Risposta di esempio

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

Codici di errore comuni

  • INVALID_EMAIL: l'indirizzo email non è formattato correttamente.

Invia email di reimpostazione della password

Puoi inviare un'email di reimpostazione della password inviando una richiesta HTTP POST all'endpoint Auth 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 lingua corrispondente alle impostazioni internazionali dell'utente. Se lo specifichi, verrà localizzata l'email di reimpostazione della password inviata all'utente.
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
requestType string Il tipo di codice OOB da restituire. 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. Utilizzato solo in 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 riuscita è indicata da un codice di stato HTTP 200 OK.

Risposta di esempio

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

Codici di errore comuni

  • EMAIL_NOT_FOUND: non esiste un 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 HTTP POST all'endpoint Auth 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 email inviato all'indirizzo email dell'utente per reimpostare la password.
tenantId string L'ID tenant dell'utente che richiede la reimpostazione della password. Utilizzato solo in multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
email string Indirizzo email dell'utente.
requestType string Tipo di codice di azione 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 riuscita è indicata da un codice di stato HTTP 200 OK.

Risposta di esempio

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

Codici di errore comuni

  • OPERATION_NOT_ALLOWED: l'accesso con password è disattivato per questo progetto.
  • EXPIRED_OOB_CODE: il codice dell'azione è scaduto.
  • INVALID_OOB_CODE: il codice azione non è valido. Ciò può accadere se il codice è stato formato in modo errato, è scaduto o è già stato utilizzato.

Conferma la reimpostazione della password

Puoi applicare una modifica di reimpostazione della password inviando una richiesta HTTP POST all'endpoint Auth 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 email 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. Utilizzato solo in multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
email string Indirizzo email dell'utente.
requestType string Tipo di codice di azione 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 riuscita è indicata da un codice di stato HTTP 200 OK.

Risposta di esempio

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

Codici di errore comuni

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

Modificare l'email

Puoi modificare l'indirizzo email di un utente inviando una richiesta HTTP POST all'endpoint Auth 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 lingua corrispondente alle impostazioni internazionali dell'utente. Se lo specifichi, la revoca della modifica dell'email inviata all'utente verrà localizzata.
Payload del corpo della richiesta
Nome proprietà Tipo Descrizione
idToken string Un token ID di Identity Platform per l'utente.
email string La nuova 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 sottoposta ad hashing della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId".
idToken string Nuovo token ID di Identity Platform per l'utente.
refreshToken string Un token di aggiornamento Identity Platform.
expiresIn string Il numero di secondi dopo i quali 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il nuovo token ID e il token di aggiornamento di Identity Platform associati all'utente.

Risposta di esempio

{
  "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à in uso 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 HTTP POST all'endpoint Auth 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 ID di Identity Platform per l'utente.
password string La 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 sottoposta ad hashing della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId".
idToken string Nuovo token ID di Identity Platform per l'utente.
refreshToken string Un token di aggiornamento Identity Platform.
expiresIn string Il numero di secondi dopo i quali 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il nuovo token ID e il token di aggiornamento di Identity Platform associati all'utente.

Risposta di esempio

{
  "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 foto) inviando una richiesta HTTP POST all'endpoint Auth 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 ID di Identity Platform per l'utente.
displayName string Il nuovo nome visualizzato dell'utente.
photoUrl string L'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 Il nuovo nome visualizzato dell'utente.
photoUrl string L'URL della nuova foto dell'utente.
passwordHash string Versione sottoposta ad hashing della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId".
idToken string Nuovo token ID di Identity Platform per l'utente.
refreshToken string Un token di aggiornamento Identity Platform.
expiresIn string Il numero di secondi dopo i quali 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 riuscita è indicata da un codice di stato HTTP 200 OK.

Risposta di esempio

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

Ottenere i dati utente

Puoi ottenere i dati di un utente inviando una richiesta HTTP POST all'endpoint Auth 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 di Identity Platform dell'account.
Payload risposta
Nome proprietà Tipo Descrizione
utenti Elenco di oggetti JSON L'account associato al token ID di Identity Platform specificato. Per ulteriori dettagli, consulta quanto segue.
Payload risposta (contenuto dell'array users)
Nome proprietà Tipo Descrizione
localId string L'UID dell'utente corrente.
email string L'indirizzo email dell'account.
emailVerified boolean Indica se l'indirizzo email dell'account è stato verificato o meno.
displayName string Il nome visualizzato dell'account.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId".
photoUrl string L'URL della foto per l'account.
passwordHash string Versione sottoposta ad hashing della password.
passwordUpdatedAt double Il timestamp, in millisecondi, dell'ultima modifica della password dell'account.
validSince string Il timestamp, in secondi, che indica un limite prima del quale i token ID di Identity Platform sono considerati revocati.
disattivata boolean Indica se l'account è disattivato o meno.
lastLoginAt string Il timestamp, in millisecondi, dell'ultimo accesso all'account.
createdAt string Il timestamp, in millisecondi, della creazione dell'account.
customAuth boolean Indica se l'account è autenticato dallo sviluppatore.
tenantId string L'ID tenant dell'utente. Viene 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta conterrà tutte le informazioni dell'utente associate all'account.

Risposta di esempio

{
  "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: non esiste un record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.

Puoi collegare un'email/password a un utente corrente inviando una richiesta HTTP POST all'endpoint Auth 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 di Identity Platform dell'account a cui stai tentando di collegare la credenziale.
email string L'indirizzo email da collegare 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 dell'account.
photoUrl string L'URL della foto per l'account.
passwordHash string Versione sottoposta ad hashing della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId".
emailVerified boolean Indica se l'indirizzo email dell'account è stato verificato o meno.
idToken string Nuovo token ID di Identity Platform per l'utente.
refreshToken string Un token di aggiornamento Identity Platform.
expiresIn string Il numero di secondi dopo i quali 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene l'ID token e il token di aggiornamento di Identity Platform associati all' utente autenticato.

Risposta di esempio

{
  "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_LOGIN_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 HTTPPOST all'endpoint Auth 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 di Identity Platform 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 emette la credenziale.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true.
returnIdpCredential boolean Indica se forzare il ritorno della credenziale OAuth in caso di seguenti errori: FEDERATED_USER_ID_ALREADY_LINKED ed EMAIL_EXISTS.
Payload risposta
Nome proprietà Tipo Descrizione
federatedId string L'ID univoco identifica l'account IdP.
providerId string L'ID fornitore collegato (ad es. "google.com" per il fornitore Google).
localId string L'uid dell'utente autenticato.
emailVerified boolean Indica se l'indirizzo email di accesso è 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 con stringa contenente tutti i dati dell'identità digitale corrispondenti alla credenziale OAuth fornita.
firstName string Il nome dell'account.
lastName string Il cognome associato all'account.
fullName string Il nome completo dell'account.
displayName string Il nome visualizzato dell'account.
photoUrl string L'URL della foto per l'account.
idToken string Un token ID di Identity Platform per l'utente autenticato.
refreshToken string Un token di aggiornamento di Identity Platform per l'utente autenticato.
expiresIn string Il numero di secondi dopo i quali scade il token ID.

Richiesta di esempio 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati all'utente autenticato.

Risposta di esempio 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\", ...}"
}

Richiesta di esempio 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati all'utente autenticato.

Risposta di esempio 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 riuscita è indicata da un codice di stato HTTP 200 OK. La risposta contiene il token ID e il token di aggiornamento di Identity Platform associati all'utente autenticato.

Risposta di esempio 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 è disattivato per questo progetto.
  • INVALID_IDP_RESPONSE: le credenziali di autenticazione fornite non sono valide o sono scadute.
  • INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
  • EMAIL_EXISTS: l'indirizzo email è già in uso 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 HTTP POST all'endpoint Auth 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 di Identity Platform dell'account.
deleteProvider Elenco di stringhe L'elenco degli ID provider da scollegare, ad esempio "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 dell'account.
photoUrl string L'URL della foto per l'account.
passwordHash string Versione sottoposta ad hashing della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId".
emailVerified boolean Indica se l'indirizzo email dell'account è stato verificato o meno.

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 riuscita è indicata da un codice di stato HTTP 200 OK.

Risposta di esempio

{
  "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 HTTP POST all'endpoint Auth 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 lingua corrispondente alle impostazioni internazionali dell'utente. Se lo passi, 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 di Identity Platform 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 riuscita è indicata da un codice di stato HTTP 200 OK.

Risposta di esempio

{
  "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: non esiste un 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 HTTP POST all'endpoint Auth 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. Utilizzato solo in multi-tenancy.
Payload risposta
Nome proprietà Tipo Descrizione
email string L'indirizzo email dell'account.
displayName string Il nome visualizzato dell'account.
photoUrl string L'URL della foto per l'account.
passwordHash string L'hash della password.
providerUserInfo Elenco di oggetti JSON Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId".
emailVerified boolean Indica se l'indirizzo email dell'account è stato verificato o meno.

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 riuscita è indicata da un codice di stato HTTP 200 OK.

Risposta di esempio

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

Codici di errore comuni

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

Elimina account

Puoi eliminare un utente corrente inviando una richiesta HTTP POST all'endpoint Auth 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 di Identity Platform 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 riuscita è 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: non esiste un 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.