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, è necessaria 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 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 nell'architettura multi-tenancy.
Deve corrispondere al valore tenant_id nel token.
Rivendicazioni 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/ora di emissione L'ora corrente, in secondi dall'epoca UNIX.
exp Scadenza Il tempo, in secondi, dall'epoca UNIX, in cui scade il token. Deve essere al massimo 3600 secondi dopo il valore iat.
Nota: questa opzione controlla solo l'ora in cui il token personalizzato stesso scade. Tuttavia, dopo che un utente ha eseguito l'accesso utilizzando signInWithCustomToken(), l'accesso rimarrà attivo sul dispositivo 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) Attestazioni personalizzate facoltative da includere nelle variabili delle regole di sicurezza auth o request.auth.
Payload risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID 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 messaggio HTTP 200 OK codice di stato. 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 Identity Platform inviando un messaggio HTTP Richiesta 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 della 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 messaggio HTTP 200 OK codice di stato. La risposta contiene il nuovo token ID 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. Passa una chiave API valida. (chiave API fornita non valida)
  • 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. Campo "refresh_tokens" Impossibile trovare 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 un HTTP Richiesta POST all'endpoint Auth signupNewUser.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Richiedi payload corpo
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 della risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID 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 messaggio HTTP 200 OK codice di stato. 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 è disabilitato per questo progetto.
  • TOO_MANY_ATTEMPTS_TRY_LATER: Abbiamo bloccato tutte le richieste da questo dispositivo a causa di problemi insoliti attività. Riprova più tardi.

Accedi con email/password

Puoi eseguire l'accesso di un utente con un indirizzo email e una password tramite l'invio di una richiesta HTTP Richiesta POST all'endpoint Auth verifyPassword.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Richiedi payload corpo
Nome proprietà Tipo Descrizione
email string L'indirizzo email con cui l'utente esegue 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. Utilizzato solo in multi-tenancy.
Payload della risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID Identity Platform 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 dopo i quali scade il token ID.
localId string L'uid dell'utente autenticato.
registrato boolean 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 messaggio HTTP 200 OK codice di stato. La risposta contiene il token ID Identity Platform e il token di aggiornamento associati con l'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 in modo anonimo a un utente inviando un HTTP Richiesta POST all'endpoint Auth signupNewUser.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Richiedi payload corpo
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 della risposta
Nome proprietà Tipo Descrizione
idToken string Un token ID Identity Platform per l'utente appena creato.
email string Poiché l'utente è anonimo, questo campo dovrebbe 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 messaggio HTTP 200 OK codice di stato. La risposta contiene il token ID e il token di aggiornamento di Identity Platform 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: l'accesso degli utenti anonimi è disattivato per questo progetto.

Accedi con credenziale OAuth

Puoi eseguire l'accesso di un utente con una credenziale OAuth inviando un messaggio HTTP Richiesta POST all'endpoint Auth verifyAssertion.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Richiedi payload corpo
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 presenta problemi la credenziale.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere vera.
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 della risposta
Nome proprietà Tipo Descrizione
federatedId string L'ID univoco identifica l'account dell'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 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 sotto forma di stringa contenente tutti i dati IdP corrispondenti all'attributo fornito Credenziale OAuth.
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 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 in cui scade il token ID.
needConfirmation boolean 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 l'ID token 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 messaggio HTTP 200 OK codice di stato. La risposta contiene il token ID Identity Platform e il token di aggiornamento associati con l'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 provider per l'email

Puoi esaminare tutti i fornitori associati a un'email specificata inviando un'email HTTP Richiesta POST all'endpoint Auth createAuthUri.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Richiedi payload corpo
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 della 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 messaggio HTTP 200 OK codice di stato. 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 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 della 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.

Esempio di risposta

{
 "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 dell'email inviato all'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 della 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 messaggio HTTP 200 OK codice di stato.

Esempio di risposta

{
  "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 di 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 un messaggio HTTP Richiesta 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 dell'email inviato all'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 della 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.

Esempio di risposta

{
  "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 di 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.
Richiedi payload corpo
Nome proprietà Tipo Descrizione
idToken string Un token ID di Identity Platform 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 della 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 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.

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à 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 cambiare la password di un utente inviando un HTTP Richiesta 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 Nuova password dell'utente.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento.
Payload della 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 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 messaggio HTTP 200 OK codice di stato. La risposta contiene il nuovo token ID e il token di aggiornamento di Identity Platform associati 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 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 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 della 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 Nuovo URL della 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 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 messaggio HTTP 200 OK codice di stato.

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.

Ottieni 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 Identity Platform dell'account.
Payload della risposta
Nome proprietà Tipo Descrizione
utenti Elenco di oggetti JSON L'account associato al token ID Identity Platform specificato. Continua a leggere per saperne di più i dettagli.
Payload della risposta (users contenuto dell'array)
Nome proprietà Tipo Descrizione
localId string L'UID dell'utente corrente.
email string L'indirizzo email dell'account.
emailVerified boolean Se l'indirizzo e-mail 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, in cui l'account ha eseguito l'ultimo accesso.
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. 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 messaggio HTTP 200 OK codice di stato. La risposta conterrà tutte le informazioni 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: nessun 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 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 della 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 Se l'indirizzo e-mail dell'account è stato verificato o meno.
idToken string Nuovo token ID 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 il token ID Identity Platform e il token di aggiornamento associato 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_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 HTTP Richiesta POST all'endpoint Auth verifyAssertion.

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Richiedi payload corpo
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 presenta problemi la credenziale.
returnSecureToken boolean Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere vera.
returnIdpCredential boolean Indica se forzare la restituzione della credenziale OAuth in caso di errori seguenti: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS.
Payload risposta
Nome proprietà Tipo Descrizione
federatedId string L'ID univoco identifica l'account dell'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 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 sotto forma di stringa contenente tutti i dati IdP corrispondenti all'attributo fornito Credenziale OAuth.
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 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 in cui 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 Identity Platform e il token di aggiornamento associati con l'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 messaggio HTTP 200 OK codice di stato. La risposta contiene il token ID Identity Platform e il token di aggiornamento associati con l'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 Twitter OAuth 1.0

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

Una richiesta riuscita è indicata da un messaggio HTTP 200 OK codice di stato. 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à utilizzato da un altro account.
  • FEDERATED_USER_ID_ALREADY_LINKED: Questa credenziale è già associata a un'altra 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]
Richiedi payload corpo
Nome proprietà Tipo Descrizione
idToken string Il token ID Identity Platform 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 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.

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 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. Superato questo passaggio, localizzerai verifica email inviata all'utente.
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.

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: non esiste un record utente corrispondente a questo identificatore. L'utente può sono state eliminate.

Conferma la verifica email

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

Metodo: POST

Content-Type: application/json

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Richiedi payload corpo
Nome proprietà Tipo Descrizione
oobCode string Il codice di azione inviato all'email dell'utente per la verifica email.
tenantId string L'ID tenant dell'utente che verifica l'email. Utilizzato solo in multi-tenancy.
Payload della 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 messaggio HTTP 200 OK codice di stato.

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 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: nessun 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]
Richiedi payload corpo
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: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.

Gestione degli errori

Di seguito è riportato un esempio di un 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.