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:
Vai alla pagina Provider di identità nella console Google Cloud.
Vai alla pagina Provider di identitàFai clic su Dettagli di configurazione applicazione.
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
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 nell'architettura multi-tenancy. Deve corrispondere al valore 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 | 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 . |
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
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 | 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
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 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 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nome proprietà | Tipo | Descrizione |
---|---|---|
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. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Un token ID Identity Platform per l'utente autenticato. |
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
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 Identity Platform per l'utente appena creato. |
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
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 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. |
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. |
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
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 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
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
.
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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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. |
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 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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. |
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
.
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
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 | Il nuovo indirizzo 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 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
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 | 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 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
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 | 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 | 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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Il token ID Identity Platform dell'account. |
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. |
users
contenuto dell'array)
Nome proprietà | Tipo | Descrizione |
---|---|---|
localId | string | L'UID dell'utente corrente. |
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.
Link 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 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 | 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.
Eseguire il collegamento con la credenziale OAuth
Puoi collegare una credenziale OAuth a un utente inviando una richiesta HTTP
Richiesta POST
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 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. |
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. |
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.
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 Identity Platform dell'account. |
deleteProvider | Elenco di stringhe | L'elenco di ID provider da scollegare, ad es. "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
.
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
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. Superato questo passaggio, localizzerai verifica email inviata all'utente. |
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
.
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
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
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 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
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: 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
.