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:
Vai alla pagina Provider di identità nella Google Cloud console.
Vai alla pagina Provider di identitàFai clic su Dettagli di configurazione dell'applicazione.
Copia il campo
apiKey.
Tieni presente che HTTPS è obbligatorio per tutte le chiamate API.
Chiamata all'API
Scambia 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
| 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. |
| 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, 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) | Dichiarazioni personalizzate facoltative da includere nelle variabili auth o request.auth delle regole di sicurezza. |
| 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 Google Cloud progetto.
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
Endpointhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
| 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. |
| 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 | Il tuo Google Cloud ID progetto. |
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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| idToken | string | Un token ID di Identity Platform per l'utente appena creato. |
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| idToken | string | Un token ID di Identity Platform per l'utente autenticato. |
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| idToken | string | Un token ID di Identity Platform per l'utente appena creato. |
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
| 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. |
| 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. |
| 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'IDP 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 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 fornitori associati a un'email specificata inviando una richiesta HTTPPOST all'endpoint Auth createAuthUri.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
| 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. |
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| requestType | string | Il tipo di codice OOB da restituire. Deve essere "PASSWORD_RESET" per la reimpostazione della password. |
| string | Indirizzo email dell'utente. | |
| tenantId | string | L'ID tenant dell'utente che richiede la reimpostazione della password. Utilizzato solo in multi-tenancy. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| idToken | string | Un token ID di Identity Platform per l'utente. |
| string | La nuova email dell'utente. | |
| returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| localId | string | L'UID dell'utente corrente. |
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| localId | string | L'UID dell'utente corrente. |
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| localId | string | L'UID dell'utente corrente. |
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| idToken | string | Il token ID di Identity Platform dell'account. |
| 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. |
users)
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| localId | string | L'UID dell'utente corrente. |
| 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.
Eseguire il collegamento con email/password
Puoi collegare un'email/password a un utente corrente inviando una richiesta HTTP
POST all'endpoint Auth setAccountInfo.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| idToken | string | Il token ID di Identity Platform dell'account a cui stai tentando di collegare la credenziale. |
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| localId | string | L'UID dell'utente corrente. |
| 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.
Eseguire il collegamento con la credenziale OAuth
Puoi collegare una credenziale OAuth a un utente inviando una richiesta HTTPPOST all'endpoint Auth verifyAssertion.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
| 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. |
| 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. |
| 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'IDP 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 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.
Scollega provider
Puoi scollegare un provider da un utente corrente inviando una richiesta HTTP
POST all'endpoint Auth setAccountInfo.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| localId | string | L'UID dell'utente corrente. |
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
| Nome proprietà | Descrizione |
|---|---|
| X-Firebase-Locale | Il codice lingua corrispondente alle impostazioni internazionali dell'utente. Se lo specifichi, la verifica email inviata all'utente verrà localizzata. |
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
| 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. |
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| 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 HTTPPOST all'endpoint Auth deleteAccount.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
| Nome proprietà | Tipo | Descrizione |
|---|---|---|
| idToken | string | Il token ID di Identity Platform dell'utente da eliminare. |
| 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.