Utilizzo dell'API REST
Questo documento mostra come eseguire le operazioni utente più comuni, come l'accesso degli utenti e l'uso dei token, utilizzando l'API REST Identity Platform.
Prima di iniziare
Per utilizzare l'API REST, devi avere una chiave API Identity Platform. Per ottenere una chiave:
Vai alla pagina Provider di identità nella console Google Cloud.
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 token personalizzato per un ID e token di aggiornamento
Puoi scambiare un token di autenticazione personalizzato con un ID e un token di aggiornamento inviando una richiesta POST
HTTP all'endpoint signInWithCustomToken
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
token | string | Un token personalizzato di Identity Platform da cui creare una coppia di token ID e di aggiornamento. |
returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true. |
tenantId | string | L'ID tenant a cui l'utente sta accedendo. Utilizzato solo in multitenancy. Deve corrispondere al tenant_id nel token. |
Proprietà | Nome | Descrizione |
---|---|---|
alg | Algoritmo | Deve essere RS256 . |
iss | Emittente | L'indirizzo email dell'account di servizio del progetto. |
Pub/Sub. | Oggetto | L'indirizzo email dell'account di servizio del progetto. |
Aud | Pubblico | https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit |
iat | Data di emissione | L'ora corrente, in secondi dall'epoca di UNIX. |
exp | Scadenza | Il tempo, in secondi, dall'epoca di UNIX, in cui scade il token. Può
essere un massimo 3600 secondi dopo rispetto a iat .
Nota: questa opzione controlla solo il momento in cui scade il token personalizzato stesso. Tuttavia, una volta effettuato l'accesso utilizzando signInWithCustomToken() , l'utente rimarrà connesso al
dispositivo fino a quando la sua sessione non verrà invalidata o l'utente non escerà. |
uid | ID utente | L'identificatore univoco dell'utente di lunghezza compresa tra 1 e 36 caratteri. |
tenant_id | ID tenant | L'identificatore del tenant a cui l'utente accede. |
rivendicazioni (facoltativo) | Attestazioni personalizzate facoltative da includere nelle variabili auth o request.auth delle regole di sicurezza. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Un token Identity Platform ID generato dal token personalizzato fornito. |
refreshToken | string | Un token di aggiornamento di Identity Platform generato dal token personalizzato fornito. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati al token personalizzato.
Esempio di risposta
{ "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- INVALID_CUSTOM_TOKEN: il formato del token personalizzato non è corretto o il token non è valido per qualche motivo (ad esempio scaduto, firma non valida e così via)
- CREDENTIAL_MISMATCH: il token personalizzato corrisponde a un altro progetto Google Cloud.
Scambiare un token di aggiornamento con un token ID
Puoi aggiornare un token ID piattaforma di identità inviando una richiesta POST
HTTP all'endpoint securetoken.googleapis.com
.
Metodo: POST
Content-Type: application/x-www-form-urlencoded
Endpointhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
grant_type | string | Il tipo di autorizzazione del token di aggiornamento, sempre "refresh_token". |
refresh_token | string | Un token di aggiornamento di Identity Platform. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
expires_in | string | Il numero di secondi in cui scade il token ID. |
token_type | string | Il tipo di token di aggiornamento, sempre "Bearer". |
refresh_token | string | Il token di aggiornamento di Identity Platform fornito nella richiesta o un nuovo token di aggiornamento. |
id_token | string | Un token Identity Platform ID. |
user_id | string | L'UID corrispondente al token ID fornito. |
project_id | string | L'ID del tuo progetto Google Cloud. |
Richiesta di esempio
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il nuovo token ID di Identity Platform e il token di aggiornamento.
Esempio di risposta
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
Codici di errore comuni
- TOKEN_EXPIRED: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- USER_DISABLED: l'account utente è stato disattivato da un amministratore.
- USER_NOT_FOUND: l'utente corrispondente al token di aggiornamento non è stato trovato. È probabile che l'utente sia stato eliminato.
- Chiave API non valida. Inserisci una chiave API valida. (chiave API fornita non valida)
- INVALID_REFRESH_TOKEN: viene fornito un token di aggiornamento non valido.
- Payload JSON non valido ricevuto. Nome sconosciuto \"refresh_tokens\": impossibile associare il parametro di query. Impossibile trovare il campo "refresh_tokens" nel messaggio di richiesta.
- INVALID_GRANT_TYPE: il tipo di autorizzazione specificato non è valido.
- MISSING_REFRESH_TOKEN: nessun token di aggiornamento fornito.
- PROJECT_NUMBER_MISMATCH: il numero di progetto del token di aggiornamento non corrisponde a quello della chiave API fornita.
Registrati con email / password
Puoi creare un nuovo utente con indirizzo email e password inviando una richiesta POST
HTTP all'endpoint di autenticazione signupNewUser
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
string | L'email che l'utente dovrà creare. | |
password | string | La password che l'utente dovrà creare. |
returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true. |
tenantId | string | L'ID tenant dell'utente da creare. Utilizzata solo nell'architettura multi-tenancy. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Un token ID piattaforma di identità per l'utente appena creato. |
string | L'email dell'utente appena creato. | |
refreshToken | string | Un token di aggiornamento di Identity Platform per l'utente appena creato. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
localId | string | L'UID dell'utente appena creato. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati al nuovo account.
Esempio di risposta
{ "idToken": "[ID_TOKEN]", "email": "[user@example.com]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "tRcfmLH7..." }
Codici di errore comuni
- EMAIL_EXISTS: l'indirizzo email è già utilizzato da un altro account.
- OPERATION_NOT_ALLOWED: l'accesso con password è disabilitato per questo progetto.
- TOO_MANY_ATTEMPTS_TRY_LATER: Abbiamo bloccato tutte le richieste da questo dispositivo a causa di attività insolite. Riprova più tardi.
Accedi con email / password
Puoi accedere a un utente con un indirizzo email e una password inviando una richiesta POST
HTTP all'endpoint di autenticazione verifyPassword
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
string | L'indirizzo email con cui l'utente sta eseguendo l'accesso. | |
password | string | La password dell'account. |
returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true. |
tenantId | string | L'ID tenant a cui l'utente sta accedendo. Utilizzata solo nell'architettura multi-tenancy. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Un token ID piattaforma di Identity 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 in cui scade il token ID. |
localId | string | L'UID dell'utente autenticato. |
registrato | boolean | Se l'indirizzo email è per un account esistente. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID di Identity Platform e il token di aggiornamento associati all'account email/password esistente.
Esempio di risposta
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- EMAIL_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
- INVALID_PASSWORD: la password non è valida o l'utente non dispone di una password.
- USER_DISABLED: l'account utente è stato disattivato da un amministratore.
Accedi in modo anonimo
Puoi accedere a un utente in modo anonimo inviando una richiesta POST
HTTP all'endpoint di autenticazione signupNewUser
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true. |
tenantId | string | L'ID tenant a cui l'utente sta accedendo. Utilizzata solo nell'architettura multi-tenancy. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Un token ID piattaforma di identità per l'utente appena creato. |
string | Poiché l'utente è anonimo, il campo deve essere vuoto. | |
refreshToken | string | Un token di aggiornamento di Identity Platform per l'utente appena creato. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
localId | string | L'UID dell'utente appena creato. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID di Identity Platform e il token di aggiornamento associati all'utente anonimo.
Esempio di risposta
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
Codici di errore comuni
- OPERATION_NOT_ALLOWED: accesso utente anonimo è disabilitato per questo progetto.
Accedi con credenziale OAuth
Puoi accedere a un utente con una credenziale OAuth inviando una richiesta POST
HTTP all'endpoint di autenticazione verifyAssertion
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
requestUri | string | L'URI a cui l'IdP reindirizza l'utente. |
postBody | string | Contiene la credenziale OAuth (un token ID o un token di accesso) e l'ID provider che rilascia la credenziale. |
returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true. |
returnIdpCredential | boolean | Indica se forzare la restituzione della credenziale OAuth nei seguenti errori: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS. |
tenantId | string | L'ID tenant a cui l'utente sta accedendo. Utilizzata solo nell'architettura multi-tenancy. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
federatedId | string | L'ID univoco identifica l'account IdP. |
providerId | string | L'ID del provider collegato (ad es. "google.com" per il provider Google). |
localId | string | L'UID dell'utente autenticato. |
emailVerified | boolean | Se l'indirizzo email di accesso è stato verificato. |
string | L'indirizzo email dell'account. | |
oauthIdToken | string | Il token ID OIDC, se disponibile. |
oauthAccessToken | string | Il token di accesso OAuth, se disponibile. |
oauthTokenSecret | string | Il secret del token OAuth 1.0, se disponibile. |
rawUserInfo | string | La risposta JSON stringata contenente tutti i dati dell'IdP corrispondenti alla credenziale OAuth fornita. |
firstName | string | Il nome dell'account. |
lastName | string | Il cognome dell'account. |
fullName | string | Il nome completo dell'account. |
displayName | string | Il nome visualizzato per l'account. |
photoUrl | string | L'URL della foto dell'account. |
idToken | string | Un token ID piattaforma di Identity per l'utente autenticato. |
refreshToken | string | Un token di aggiornamento di Identity Platform per l'utente autenticato. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
needConfirmation | boolean | Indica se esiste già un altro account con la stessa credenziale. L'utente dovrà accedere all'account originale e collegarlo alla credenziale attuale. |
Esempio di richiesta con token ID OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.
Esempio di risposta con token ID OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Esempio di richiesta con token di accesso OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.
Esempio di risposta con token di accesso OAuth
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Richiesta di esempio con credenziale OAuth 1.0 di Twitter
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.
Esempio di risposta con credenziale OAuth 1.0 di Twitter
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Codici di errore comuni
- OPERATION_NOT_ALLOWED: il provider corrispondente è disabilitato per questo progetto.
- INVALID_IDP_ANSWER: la credenziale di autenticazione fornita non è valida o è scaduta.
Provider di recupero per l'email
Puoi cercare tutti i provider associati a un'email specificata inviando una richiesta POST
HTTP all'endpoint di autenticazione createAuthUri
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
identificatore | string | Indirizzo email dell'utente |
continueUri | string | L'URI a cui l'IdP reindirizza l'utente. Per questo caso d'uso, si tratta solo dell'URL corrente. |
tenantId | string | L'ID tenant a cui l'utente sta accedendo. Utilizzata solo nell'architettura multi-tenancy. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
allProviders | Elenco di stringhe | L'elenco dei fornitori con cui l'utente ha eseguito l'accesso in precedenza. |
registrato | boolean | Se l'indirizzo email è per un account esistente |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene l'elenco dei provider associati all'email.
Esempio di risposta
{ "allProviders": [ "password", "google.com" ], "registered": true }
Codici di errore comuni
- INVALID_EMAIL: il formato dell'indirizzo email non è corretto.
Invia e-mail di reimpostazione password
Puoi inviare un'email di reimpostazione della password inviando una richiesta POST
HTTP all'endpoint di autenticazione getOobConfirmationCode
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]Intestazioni facoltative
Nome proprietà | Descrizione |
---|---|
X-Firebase-Locale | Il codice della lingua corrispondente alle impostazioni internazionali dell'utente. Se superi questa operazione, l'email di reimpostazione della password inviata all'utente verrà localizzata. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
requestType | string | Il tipo di codice OOB da restituire. Il valore 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. Utilizzata solo nell'architettura 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 andata a buon fine viene indicata da un codice di stato HTTP 200 OK
.
Esempio di risposta
{ "email": "[user@example.com]" }
Codici di errore comuni
- EMAIL_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Verifica il codice di reimpostazione della password
Puoi verificare un codice di reimpostazione della password inviando una richiesta POST
HTTP all'endpoint di autenticazione resetPassword
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
oobCode | string | Il codice di azione e-mail inviato all'indirizzo email dell'utente per reimpostare la password. |
tenantId | string | L'ID tenant dell'utente che richiede la reimpostazione della password. Utilizzata solo nell'architettura multi-tenancy. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
string | Indirizzo email dell'utente. | |
requestType | string | Tipo di codice di azione dell'email. Deve essere "PASSWORD_RESET". |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
.
Esempio di risposta
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Codici di errore comuni
- OPERATION_NOT_ALLOWED: l'accesso con password è disabilitato per questo progetto.
- EXPIRED_OOB_CODE: il codice di azione è scaduto.
- INVALID_OOB_CODE: il codice di azione non è valido. Ciò può accadere se il codice non è corretto, è scaduto o è già stato utilizzato.
Conferma reimpostazione password
Puoi applicare una modifica di reimpostazione della password inviando una richiesta POST
HTTP all'endpoint di autenticazione resetPassword
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
oobCode | string | Il codice di azione e-mail inviato all'indirizzo email dell'utente per reimpostare la password. |
newPassword | string | La nuova password dell'utente. |
tenantId | string | L'ID tenant dell'utente che richiede la reimpostazione della password. Utilizzata solo nell'architettura multi-tenancy. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
string | Indirizzo email dell'utente. | |
requestType | string | Tipo di codice di azione dell'email. Deve essere "PASSWORD_RESET". |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
.
Esempio di risposta
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Codici di errore comuni
- OPERATION_NOT_ALLOWED: l'accesso con password è disabilitato per questo progetto.
- EXPIRED_OOB_CODE: il codice di azione è scaduto.
- INVALID_OOB_CODE: il codice di azione non è valido. Ciò può accadere se il codice non è corretto, è scaduto o è già stato utilizzato.
- USER_DISABLED: l'account utente è stato disattivato da un amministratore.
Modifica email
Puoi modificare l'email di un utente inviando una richiesta POST
HTTP all'endpoint di autenticazione setAccountInfo
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Intestazioni facoltative
Nome proprietà | Descrizione |
---|---|
X-Firebase-Locale | Il codice della lingua corrispondente alle impostazioni internazionali dell'utente. Se superi questa operazione, la revoca della modifica dell'indirizzo email inviata all'utente verrà localizzata. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Un token Identity Platform ID 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 con hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId". |
idToken | string | Nuovo token ID piattaforma di identità per l'utente. |
refreshToken | string | Un token di aggiornamento di Identity Platform. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[GCIP_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il nuovo token ID di Identity Platform e il token di aggiornamento associato all'utente.
Esempio di risposta
{ "localId": "tRcfmLH7o2...", "email": "[user@example2.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example2.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- EMAIL_EXISTS: l'indirizzo email è già utilizzato da un altro account.
- INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
Cambia password
Puoi modificare la password di un utente inviando una richiesta POST
HTTP all'endpoint di autenticazione setAccountInfo
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Un token Identity Platform ID per l'utente. |
password | string | Nuova password dell'utente. |
returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
localId | string | L'UID dell'utente corrente. |
string | Indirizzo email dell'utente. | |
passwordHash | string | Versione hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId". |
idToken | string | Nuovo token ID piattaforma di identità per l'utente. |
refreshToken | string | Un token di aggiornamento di Identity Platform. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[GCIP_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il nuovo token ID di Identity Platform e il token di aggiornamento associato all'utente.
Esempio di risposta
{ "localId": "tRcfmLH7o2...", "email": "[user@example.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- WEAK_PASSWORD: la password deve contenere almeno 6 caratteri.
Aggiorna profilo
Puoi aggiornare il profilo di un utente (nome visualizzato / URL della foto) inviando una richiesta POST
HTTP all'endpoint di autenticazione setAccountInfo
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Un token Identity Platform ID per l'utente. |
displayName | string | Nuovo nome visualizzato dell'utente. |
photoUrl | string | URL della nuova foto dell'utente. |
deleteAttribute | Elenco di stringhe | Elenco di attributi da eliminare, "DISPLAY_NAME" o "PHOTO_URL". Questi valori verranno annullati. |
returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. |
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 | URL della nuova foto dell'utente. |
passwordHash | string | Versione hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId". |
idToken | string | Nuovo token ID piattaforma di identità per l'utente. |
refreshToken | string | Un token di aggiornamento di Identity Platform. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
.
Esempio di risposta
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
Recuperare i dati degli utenti
Puoi ottenere i dati di un utente inviando una richiesta POST
HTTP all'endpoint di autenticazione getAccountInfo
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Il token ID piattaforma di identità dell'account. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
utenti | Elenco di oggetti JSON | L'account associato al token ID Identity Platform specificato. Continua a leggere per ulteriori dettagli. |
users
contenuto array)
Nome proprietà | Tipo | Descrizione |
---|---|---|
localId | string | L'UID dell'utente corrente. |
string | L'indirizzo email dell'account. | |
emailVerified | boolean | Indica se l'email dell'account è stata verificata. |
displayName | string | Il nome visualizzato per l'account. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId". |
photoUrl | string | L'URL della foto dell'account. |
passwordHash | string | Versione hash della password. |
passwordUpdatedAt | double | Il timestamp, in millisecondi, dell'ultima modifica della password dell'account. |
validSince | string | Il timestamp, in secondi, che contrassegna un confine, prima del quale i token ID di Identity Platform sono considerati revocati. |
disabilitato | boolean | Indica se l'account è disattivato o meno. |
lastLoginAt | string | Il timestamp, in millisecondi, in cui l'account ha effettuato l'ultimo accesso. |
createdAt | string | Il timestamp, in millisecondi, in cui è stato creato l'account. |
customAuth | boolean | Indica se l'account è autenticato dallo sviluppatore. |
tenantId | string | L'ID tenant dell'utente. Restituito solo in multi-tenancy. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta conterrà tutte le informazioni utente associate all'account.
Esempio di risposta
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
Codici di errore comuni
- INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- USER_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Collega con email/password
Puoi collegare un'email o una password a un utente corrente inviando una richiesta POST
HTTP all'endpoint di autenticazione setAccountInfo
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Il token ID piattaforma di identità dell'account a cui stai tentando di collegare la credenziale. |
string | L'indirizzo email per il collegamento all'account. | |
password | string | La nuova password dell'account. |
returnSecureToken | string | Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
localId | string | L'UID dell'utente corrente. |
string | L'indirizzo email dell'account. | |
displayName | string | Il nome visualizzato per l'account. |
photoUrl | string | L'URL della foto dell'account. |
passwordHash | string | Versione hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId". |
emailVerified | boolean | Indica se l'email dell'account è stata verificata. |
idToken | string | Nuovo token ID piattaforma di identità per l'utente. |
refreshToken | string | Un token di aggiornamento di Identity Platform. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","email":"[user@example.com]","password":"[PASS]","returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.
Esempio di risposta
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
Codici di errore comuni
- CREDENTIAL_TOO_OLD_Accedi_AGAIN: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- TOKEN_EXPIRED: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- WEAK_PASSWORD: la password deve contenere almeno 6 caratteri.
Collega con credenziale OAuth
Puoi collegare una credenziale OAuth a un utente inviando una richiesta POST
HTTP all'endpoint di autenticazione verifyAssertion
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Il token ID piattaforma di identità dell'account a cui stai tentando di collegare la credenziale. |
requestUri | string | L'URI a cui l'IdP reindirizza l'utente. |
postBody | string | Contiene la credenziale OAuth (un token ID o un token di accesso) e l'ID provider che rilascia la credenziale. |
returnSecureToken | boolean | Se restituire o meno un ID e un token di aggiornamento. Deve sempre essere true. |
returnIdpCredential | boolean | Indica se forzare la restituzione della credenziale OAuth nei seguenti errori: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
federatedId | string | L'ID univoco identifica l'account IdP. |
providerId | string | L'ID del provider collegato (ad es. "google.com" per il provider Google). |
localId | string | L'UID dell'utente autenticato. |
emailVerified | boolean | Se l'email di accesso è stata verificata. |
string | L'indirizzo email dell'account. | |
oauthIdToken | string | Il token ID OIDC, se disponibile. |
oauthAccessToken | string | Il token di accesso OAuth, se disponibile. |
oauthTokenSecret | string | Il secret del token OAuth 1.0, se disponibile. |
rawUserInfo | string | La risposta JSON stringata contenente tutti i dati dell'IdP corrispondenti alla credenziale OAuth fornita. |
firstName | string | Il nome dell'account. |
lastName | string | Il cognome dell'account. |
fullName | string | Il nome completo dell'account. |
displayName | string | Il nome visualizzato per l'account. |
photoUrl | string | L'URL della foto dell'account. |
idToken | string | Un token ID piattaforma di Identity per l'utente autenticato. |
refreshToken | string | Un token di aggiornamento di Identity Platform per l'utente autenticato. |
expiresIn | string | Il numero di secondi in cui scade il token ID. |
Esempio di richiesta con token ID OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[GCIP_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.
Esempio di risposta con token ID OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Esempio di richiesta con token di accesso OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[GCIP_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.
Esempio di risposta con token di accesso OAuth
{ "federatedId": "http://facebook.com/1234567890", "providerId": "facebook.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[FACEBOOK_ACCESS_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://scontent.xx.fbcdn.net/v/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Richiesta di esempio con credenziale OAuth 1.0 di Twitter
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[GCIP_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID piattaforma di identità e il token di aggiornamento associati all'utente autenticato.
Esempio di risposta con credenziale OAuth 1.0 di Twitter
{ "federatedId": "http://twitter.com/1234567890", "providerId": "twitter.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthAccessToken": "[OAUTH_ACCESS_TOKEN]", "oauthTokenSecret": "[OAUTH_TOKEN_SECRET]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "http://abs.twimg.com/sticky/...", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Codici di errore comuni
- OPERATION_NOT_ALLOWED: il provider corrispondente è disabilitato per questo progetto.
- INVALID_IDP_ANSWER: la credenziale di autenticazione fornita non è valida o è scaduta.
- INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- EMAIL_EXISTS: l'indirizzo email è già utilizzato da un altro account.
- FEDERATED_USER_ID_ALREADY_LINKED: Questa credenziale è già associata a un altro account utente.
Scollega provider
Puoi scollegare un provider da un utente corrente inviando una richiesta POST
HTTP all'endpoint di autenticazione setAccountInfo
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Il token ID piattaforma di identità dell'account. |
deleteProvider | Elenco di stringhe | L'elenco di ID provider da scollegare, ad es. "google.com", "password" e così via. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
localId | string | L'UID dell'utente corrente. |
string | L'indirizzo email dell'account. | |
displayName | string | Il nome visualizzato per l'account. |
photoUrl | string | L'URL della foto dell'account. |
passwordHash | string | Versione con hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId". |
emailVerified | boolean | Indica se l'email dell'account è stata verificata. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[GCIP_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
.
Esempio di risposta
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
Codici di errore comuni
- INVALID_ID_TOKEN: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
Invia verifica email
Puoi inviare una verifica email per l'utente corrente inviando una richiesta
POST
HTTP all'endpoint di autenticazione getOobConfirmationCode
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]Intestazioni facoltative
Nome proprietà | Descrizione |
---|---|
X-Firebase-Locale | Il codice della lingua corrispondente alle impostazioni internazionali dell'utente. Se superi questa operazione, la verifica email inviata all'utente verrà localizzata. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
requestType | string | Il tipo di codice di conferma da inviare. Deve sempre essere "VERIFY_EMAIL". |
idToken | string | Il token ID piattaforma di identità dell'utente da verificare. |
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 andata a buon fine viene indicata da un codice di stato HTTP 200 OK
.
Esempio di risposta
{ "email": "user@example.com" }
Codici di errore comuni
- INVALID_ID_TOKEN: la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- USER_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Conferma la verifica email
Puoi confermare un codice di verifica email inviando una richiesta POST
HTTP all'endpoint di autenticazione setAccountInfo
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
oobCode | string | Il codice di azione inviato all'indirizzo email dell'utente per la verifica email. |
tenantId | string | L'ID tenant dell'utente che verifica l'email. Utilizzata solo nell'architettura multi-tenancy. |
Nome proprietà | Tipo | Descrizione |
---|---|---|
string | L'indirizzo email dell'account. | |
displayName | string | Il nome visualizzato per l'account. |
photoUrl | string | L'URL della foto dell'account. |
passwordHash | string | L'hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti dei provider collegati che contengono "providerId" e "federatedId". |
emailVerified | boolean | Indica se l'email dell'account è stata verificata. |
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
.
Esempio di risposta
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Codici di errore comuni
- EXPIRED_OOB_CODE: il codice di azione è scaduto.
- INVALID_OOB_CODE: il codice di azione non è valido. Ciò può accadere se il codice non è corretto, è scaduto o è già stato utilizzato.
- USER_DISABLED: l'account utente è stato disattivato da un amministratore.
- EMAIL_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Elimina account
Puoi eliminare un utente corrente inviando una richiesta POST
HTTP all'endpoint di autenticazione deleteAccount
.
Metodo: POST
Content-Type: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]Payload del corpo della richiesta
Nome proprietà | Tipo | Descrizione |
---|---|---|
idToken | string | Il token ID piattaforma di identità dell'utente da eliminare. |
Nome proprietà | Tipo | Descrizione |
---|
Richiesta di esempio
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'
Una richiesta andata a buon fine viene indicata da un codice di stato HTTP 200 OK
.
Codici di errore comuni
- INVALID_ID_TOKEN:la credenziale dell'utente non è più valida. L'utente deve accedere di nuovo.
- USER_NOT_FOUND: nessun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Gestione degli errori
Di seguito è riportato un esempio di errore comune restituito da Identity Platform:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
}
],
"code": 400,
"message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
}
}
Ottieni il codice di errore dal campo message
.