Utilizzo dell'API
Puoi eseguire query sul backend Firebase Auth tramite un'API REST. Questo può essere utilizzato per varie operazioni come la creazione di nuovi utenti, l'accesso a quelli esistenti e la modifica o l'eliminazione di questi utenti.
In questo documento, API_KEY
fa riferimento alla chiave API Web, che può essere ottenuta nella pagina delle impostazioni del progetto nella console di amministrazione.
Scambia token personalizzato con un ID e token di aggiornamento
Puoi scambiare un token Auth personalizzato con un ID e un token di aggiornamento inviando una richiesta HTTP POST
all'endpoint Auth verifyCustomToken
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
gettone | corda | Un token personalizzato Firebase Auth da cui creare un ID e aggiornare la coppia di token. |
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. Dovrebbe essere sempre vero. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Un token ID autenticazione Firebase generato dal token personalizzato fornito. |
aggiornamentoToken | corda | Un token di aggiornamento di autenticazione Firebase generato dal token personalizzato fornito. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento 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 esempio scaduto, firma non valida ecc.)
- CREDENTIAL_MISMATCH: il token personalizzato corrisponde a un diverso progetto Firebase.
Scambia un token di aggiornamento con un token ID
Puoi aggiornare un token ID Firebase inviando una richiesta HTTP POST
all'endpoint securetoken.googleapis.com
.
Metodo: POST
Tipo di contenuto: application/x-www-form-urlencoded
Endpointhttps://securetoken.googleapis.com/v1/token?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
tipo_concessione | corda | Il tipo di concessione del token di aggiornamento, sempre "refresh_token". |
token_aggiornamento | corda | Un token di aggiornamento dell'autenticazione Firebase. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
scade tra | corda | Il numero di secondi in cui scade il token ID. |
tipo_token | corda | Il tipo del token di aggiornamento, sempre "Bearer". |
token_aggiornamento | corda | Il token di aggiornamento dell'autenticazione Firebase fornito nella richiesta o un nuovo token di aggiornamento. |
id_token | corda | Un token ID di autenticazione Firebase. |
ID utente | corda | L'UID corrispondente al token ID fornito. |
progetto_id | corda | Il tuo ID progetto Firebase. |
Esempio di richiesta
curl 'https://securetoken.googleapis.com/v1/token?key=[API_KEY]' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data 'grant_type=refresh_token&refresh_token=[REFRESH_TOKEN]'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il nuovo token ID Firebase e il token di aggiornamento.
Risposta di esempio
{ "expires_in": "3600", "token_type": "Bearer", "refresh_token": "[REFRESH_TOKEN]", "id_token": "[ID_TOKEN]", "user_id": "tRcfmLH7o2XrNELi...", "project_id": "1234567890" }
Codici di errore comuni
- TOKEN_EXPIRED: la credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
- USER_DISABLED: l'account utente è stato disabilitato 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. Trasmetti una chiave API valida. (chiave API fornita non valida)
- INVALID_REFRESH_TOKEN: è stato fornito un token di aggiornamento non valido.
- È stato ricevuto un payload JSON non valido. 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 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.
Iscriviti con email/password
Puoi creare un nuovo utente di posta elettronica e password inviando una richiesta HTTP POST
all'endpoint Auth signupNewUser
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
corda | L'e-mail che l'utente deve creare. | |
parola d'ordine | corda | La password che l'utente deve creare. |
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. Dovrebbe essere sempre vero. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Un token ID autenticazione Firebase per l'utente appena creato. |
corda | L'e-mail per l'utente appena creato. | |
aggiornamentoToken | corda | Un token di aggiornamento di autenticazione Firebase per l'utente appena creato. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
localId | corda | L'uid dell'utente appena creato. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento 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à utilizzato da un altro account.
- OPERATION_NOT_ALLOWED: l'accesso tramite password è disabilitato per questo progetto.
- TOO_MANY_ATTEMPTS_TRY_LATER: abbiamo bloccato tutte le richieste provenienti da questo dispositivo a causa di attività insolite. Riprovare più tardi.
Accedi con email/password
Puoi accedere come utente con un indirizzo email e una password inviando una richiesta HTTP POST
all'endpoint Auth verifyPassword
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]Carico utile del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
corda | L'e-mail con cui l'utente sta effettuando l'accesso. | |
parola d'ordine | corda | La password per l'account. |
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. Dovrebbe essere sempre vero. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Un token ID autenticazione Firebase per l'utente autenticato. |
corda | L'e-mail per l'utente autenticato. | |
aggiornamentoToken | corda | Un token di aggiornamento Firebase Auth per l'utente autenticato. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
localId | corda | L'uid dell'utente autenticato. |
registrato | booleano | Se l'e-mail riguarda un account esistente. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"email":"[user@example.com]","password":"[PASSWORD]","returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento associati all'account email/password esistente.
Risposta di esempio
{ "localId": "ZY1rJK0eYLg...", "email": "[user@example.com]", "displayName": "", "idToken": "[ID_TOKEN]", "registered": true, "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- EMAIL_NOT_FOUND: non esiste alcun 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 disabilitato da un amministratore.
Accedi in modo anonimo
Puoi accedere un utente in modo anonimo inviando una richiesta HTTP POST
all'endpoint Auth signupNewUser
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]Carico utile del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. Dovrebbe essere sempre vero. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Un token ID autenticazione Firebase per l'utente appena creato. |
corda | Poiché l'utente è anonimo, questo dovrebbe essere vuoto. | |
aggiornamentoToken | corda | Un token di aggiornamento di autenticazione Firebase per l'utente appena creato. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
localId | corda | L'uid dell'utente appena creato. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento associati all'utente anonimo.
Risposta di esempio
{ "idToken": "[ID_TOKEN]", "email": "", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "localId": "Jws4SVjpT..." }
Codici di errore comuni
- OPERATION_NOT_ALLOWED: l'accesso utente anonimo è disabilitato per questo progetto.
Accedi con le credenziali OAuth
È possibile accedere a un utente con credenziali OAuth inviando una richiesta HTTP POST
all'endpoint Auth verifyAssertion
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
richiestaUri | corda | L'URI a cui l'IDP reindirizza l'utente. |
postBody | corda | Contiene la credenziale OAuth (un token ID o un token di accesso) e l'ID del provider che emette la credenziale. |
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. Dovrebbe essere sempre vero. |
returnIdpCredential | booleano | Indica se forzare la restituzione delle credenziali OAuth sui seguenti errori: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
federatedId | corda | L'ID univoco identifica l'account IdP. |
providerId | corda | L'ID del provider collegato (ad esempio "google.com" per il provider Google). |
localId | corda | L'uid dell'utente autenticato. |
email verificata | booleano | Se l'e-mail di accesso è verificata. |
corda | L'e-mail dell'account. | |
oauthIdToken | corda | Il token ID OIDC, se disponibile. |
oauthAccessToken | corda | Il token di accesso OAuth, se disponibile. |
oauthTokenSecret | corda | Il segreto del token OAuth 1.0, se disponibile. |
rawUserInfo | corda | La risposta JSON stringata contenente tutti i dati IdP corrispondenti alla credenziale OAuth fornita. |
nome di battesimo | corda | Il nome dell'account. |
cognome | corda | Il cognome dell'account. |
nome e cognome | corda | Il nome completo dell'account. |
nome da visualizzare | corda | Il nome visualizzato per l'account. |
fotoUrl | corda | L'URL della foto per l'account. |
idToken | corda | Un token ID autenticazione Firebase per l'utente autenticato. |
aggiornamentoToken | corda | Un token di aggiornamento Firebase Auth per l'utente autenticato. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
Bisogno di conferma | booleano | Se esiste già un altro account con le stesse credenziali. L'utente dovrà accedere all'account originale e quindi collegarvi la credenziale corrente. |
Richiesta di esempio con token ID OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento 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 Firebase e il token di aggiornamento 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 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]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento associati all'utente autenticato.
Risposta di esempio con credenziale Twitter OAuth 1.0
{ "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_RESPONSE: la credenziale di autenticazione fornita non è valida o è scaduta.
Recupera i provider per la posta elettronica
Puoi cercare tutti i provider associati a un'e-mail specifica inviando una richiesta HTTP POST
all'endpoint Auth createAuthUri
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]Carico utile del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
identificatore | corda | Indirizzo e-mail dell'utente |
continuaUri | corda | L'URI a cui l'IDP reindirizza l'utente. Per questo caso d'uso, questo è solo l'URL corrente. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
allProvider | Elenco delle stringhe | L'elenco dei fornitori con cui l'utente ha effettuato l'accesso in precedenza. |
registrato | booleano | Se l'e-mail riguarda un account esistente |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"identifier":"[user@example.com]","continueUri":"[http://localhost:8080/app]"}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene l'elenco dei fornitori associati all'e-mail.
Risposta di esempio
{ "allProviders": [ "password", "google.com" ], "registered": true }
Codici di errore comuni
- INVALID_EMAIL: l'indirizzo email è formattato in modo errato.
Invia e-mail di reimpostazione della password
È possibile inviare un'e-mail di reimpostazione della password inviando una richiesta HTTP POST
all'endpoint Auth getOobConfirmationCode
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]Intestazioni facoltative
Nome della proprietà | Descrizione |
---|---|
X-Firebase-Locale | Il codice della lingua corrispondente alle impostazioni locali dell'utente. Passando questo verrà localizzata l'e-mail di reimpostazione della password inviata all'utente. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
Tipo di richiesta | corda | Il tipo di codice OOB da restituire. Dovrebbe essere "PASSWORD_RESET" per la reimpostazione della password. |
corda | Indirizzo e-mail dell'utente. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
corda | Indirizzo e-mail dell'utente. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"PASSWORD_RESET","email":"[user@example.com]"}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
.
Risposta di esempio
{ "email": "[user@example.com]" }
Codici di errore comuni
- EMAIL_NOT_FOUND: non esiste alcun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Verifica il codice di reimpostazione della password
È possibile verificare un codice di reimpostazione della password inviando una richiesta HTTP POST
all'endpoint Auth resetPassword
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
oobCode | corda | Il codice di azione e-mail inviato all'e-mail dell'utente per reimpostare la password. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
corda | Indirizzo e-mail dell'utente. | |
Tipo di richiesta | corda | Tipo del codice di azione e-mail. Dovrebbe essere "PASSWORD_RESET". |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
.
Risposta di esempio
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Codici di errore comuni
- OPERATION_NOT_ALLOWED: l'accesso tramite password è disabilitato per questo progetto.
- EXPIRED_OOB_CODE: il codice dell'azione è scaduto.
- INVALID_OOB_CODE: il codice dell'azione non è valido. Ciò può verificarsi se il codice non è valido, è scaduto o è già stato utilizzato.
Conferma la reimpostazione della password
È possibile applicare una modifica di reimpostazione della password inviando una richiesta HTTP POST
all'endpoint Auth resetPassword
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
oobCode | corda | Il codice di azione e-mail inviato all'e-mail dell'utente per reimpostare la password. |
nuova password | corda | La nuova password dell'utente. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
corda | Indirizzo e-mail dell'utente. | |
Tipo di richiesta | corda | Tipo del codice di azione e-mail. Dovrebbe essere "PASSWORD_RESET". |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]","newPassword":"[NEW_PASSWORD]"}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
.
Risposta di esempio
{ "email": "[user@example.com]", "requestType": "PASSWORD_RESET" }
Codici di errore comuni
- OPERATION_NOT_ALLOWED: l'accesso tramite password è disabilitato per questo progetto.
- EXPIRED_OOB_CODE: il codice dell'azione è scaduto.
- INVALID_OOB_CODE: il codice dell'azione non è valido. Ciò può verificarsi se il codice non è valido, è scaduto o è già stato utilizzato.
- USER_DISABLED: l'account utente è stato disabilitato da un amministratore.
Cambia email
Puoi modificare l'e-mail di un utente inviando una richiesta HTTP POST
all'endpoint Auth setAccountInfo
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Intestazioni facoltative
Nome della proprietà | Descrizione |
---|---|
X-Firebase-Locale | Il codice della lingua corrispondente alle impostazioni locali dell'utente. Passando questo verrà localizzata la revoca della modifica email inviata all'utente. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Un token ID di autenticazione Firebase per l'utente. |
corda | La nuova email dell'utente. | |
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
localId | corda | L'uid dell'utente corrente. |
corda | Indirizzo e-mail dell'utente. | |
passwordHash | corda | Versione hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId". |
idToken | corda | Nuovo token ID autenticazione Firebase per l'utente. |
aggiornamentoToken | corda | Un token di aggiornamento dell'autenticazione Firebase. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_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 Firebase e il token di aggiornamento associati all'utente.
Risposta di esempio
{ "localId": "tRcfmLH7o2...", "email": "[user@example2.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example2.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- EMAIL_EXISTS: l'indirizzo email è già utilizzato da un altro account.
- INVALID_ID_TOKEN: La credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
Cambiare la password
Puoi modificare la password di un utente inviando una richiesta HTTP POST
all'endpoint Auth setAccountInfo
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Un token ID di autenticazione Firebase per l'utente. |
parola d'ordine | corda | La nuova password dell'utente. |
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
localId | corda | L'uid dell'utente corrente. |
corda | Indirizzo e-mail dell'utente. | |
passwordHash | corda | Versione hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId". |
idToken | corda | Nuovo token ID autenticazione Firebase per l'utente. |
aggiornamentoToken | corda | Un token di aggiornamento dell'autenticazione Firebase. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[FIREBASE_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il nuovo token ID Firebase e il token di aggiornamento associati all'utente.
Risposta di esempio
{ "localId": "tRcfmLH7o2...", "email": "[user@example.com]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "[user@example.com]" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- INVALID_ID_TOKEN: La credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
- WEAK_PASSWORD: la password deve essere lunga 6 caratteri o più.
Aggiorna il profilo
Puoi aggiornare il profilo di un utente (nome visualizzato/URL della foto) inviando una richiesta HTTP POST
all'endpoint Auth setAccountInfo
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Carico utile del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Un token ID di autenticazione Firebase per l'utente. |
nome da visualizzare | corda | Il nuovo nome visualizzato dell'utente. |
fotoUrl | corda | Il nuovo URL della foto dell'utente. |
deleteAttribute | Elenco delle stringhe | Elenco di attributi da eliminare, "DISPLAY_NAME" o "PHOTO_URL". Ciò annullerà questi valori. |
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
localId | corda | L'uid dell'utente corrente. |
corda | Indirizzo e-mail dell'utente. | |
nome da visualizzare | corda | Il nuovo nome visualizzato dell'utente. |
fotoUrl | corda | Il nuovo URL della foto dell'utente. |
passwordHash | corda | Versione hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId". |
idToken | corda | Nuovo token ID autenticazione Firebase per l'utente. |
aggiornamentoToken | corda | Un token di aggiornamento dell'autenticazione Firebase. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary \ '{"idToken":"[ID_TOKEN]","displayName":"[NAME]","photoUrl":"[URL]","returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
.
Risposta di esempio
{ "localId": "tRcfmLH...", "email": "user@example2.com", "displayName": "John Doe", "photoUrl": "[http://localhost:8080/img1234567890/photo.png]", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example2.com", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png" } ], "idToken": "[NEW_ID_TOKEN]", "refreshToken": "[NEW_REFRESH_TOKEN]", "expiresIn": "3600" }
Codici di errore comuni
- INVALID_ID_TOKEN: La credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
Ottieni i dati dell'utente
Puoi ottenere i dati di un utente inviando una richiesta HTTP POST
all'endpoint Auth getAccountInfo
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Il token ID Firebase dell'account. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
utenti | Elenco di oggetti JSON | L'account associato al token ID Firebase specificato. Controlla di seguito per maggiori dettagli. |
users
)Nome della proprietà | Tipo | Descrizione |
---|---|---|
localId | corda | L'uid dell'utente corrente. |
corda | L'e-mail dell'account. | |
email verificata | booleano | Se l'e-mail dell'account è stata verificata o meno. |
nome da visualizzare | corda | Il nome visualizzato per l'account. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId". |
fotoUrl | corda | L'URL della foto per l'account. |
passwordHash | corda | Versione hash della password. |
passwordAggiornatoAt | Doppio | Il timestamp, in millisecondi, dell'ultima modifica della password dell'account. |
validoDal | corda | Il timestamp, in secondi, che segna un limite prima del quale i token ID Firebase sono considerati revocati. |
Disabilitato | booleano | Se l'account è disabilitato o meno. |
ultimoAccessoAt | corda | Il timestamp, in millisecondi, dell'ultimo accesso dell'account. |
creatoAt | corda | Il timestamp, in millisecondi, in cui è stato creato l'account. |
customAuth | booleano | Se l'account è autenticato dallo sviluppatore. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta conterrà tutte le informazioni dell'utente associate all'account.
Risposta di esempio
{ "users": [ { "localId": "ZY1rJK0...", "email": "user@example.com", "emailVerified": false, "displayName": "John Doe", "providerUserInfo": [ { "providerId": "password", "displayName": "John Doe", "photoUrl": "http://localhost:8080/img1234567890/photo.png", "federatedId": "user@example.com", "email": "user@example.com", "rawId": "user@example.com", "screenName": "user@example.com" } ], "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "passwordUpdatedAt": 1.484124177E12, "validSince": "1484124177", "disabled": false, "lastLoginAt": "1484628946000", "createdAt": "1484124142000", "customAuth": false } ] }
Codici di errore comuni
- INVALID_ID_TOKEN: La credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
- USER_NOT_FOUND: non esiste alcun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Collegamento con e-mail/password
Puoi collegare un'e-mail/password a un utente corrente inviando una richiesta HTTP POST
all'endpoint Auth setAccountInfo
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Il token ID Firebase dell'account a cui stai tentando di collegare la credenziale. |
corda | L'e-mail da collegare all'account. | |
parola d'ordine | corda | La nuova password dell'account. |
returnSecureToken | corda | Se restituire o meno un ID e un token di aggiornamento. Dovrebbe essere sempre vero. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
localId | corda | L'uid dell'utente corrente. |
corda | L'e-mail dell'account. | |
nome da visualizzare | corda | Il nome visualizzato per l'account. |
fotoUrl | corda | L'URL della foto per l'account. |
passwordHash | corda | Versione hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId". |
email verificata | booleano | Se l'e-mail dell'account è stata verificata o meno. |
idToken | corda | Nuovo token ID autenticazione Firebase per l'utente. |
aggiornamentoToken | corda | Un token di aggiornamento dell'autenticazione Firebase. |
scade tra | corda | Il numero di secondi in cui scade il token ID. |
Esempio di richiesta
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 Firebase e il token di aggiornamento associati all'utente autenticato.
Risposta di esempio
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ], "idToken": "[ID_TOKEN]", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "emailVerified": false }
Codici di errore comuni
- CREDENTIAL_TOO_OLD_LOGIN_AGAIN: la credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
- TOKEN_EXPIRED: la credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
- INVALID_ID_TOKEN: La credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
- WEAK_PASSWORD: la password deve essere lunga 6 caratteri o più.
Collegamento con credenziale OAuth
Puoi collegare una credenziale OAuth a un utente inviando una richiesta HTTP POST
all'endpoint Auth verifyAssertion
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]Carico utile del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Il token ID Firebase dell'account a cui stai tentando di collegare la credenziale. |
richiestaUri | corda | L'URI a cui l'IDP reindirizza l'utente. |
postBody | corda | Contiene la credenziale OAuth (un token ID o un token di accesso) e l'ID del provider che emette la credenziale. |
returnSecureToken | booleano | Se restituire o meno un ID e un token di aggiornamento. Dovrebbe essere sempre vero. |
returnIdpCredential | booleano | Indica se forzare la restituzione delle credenziali OAuth sui seguenti errori: FEDERATED_USER_ID_ALREADY_LINKED e EMAIL_EXISTS. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
federatedId | corda | L'ID univoco identifica l'account IdP. |
providerId | corda | L'ID del provider collegato (ad esempio "google.com" per il provider Google). |
localId | corda | L'uid dell'utente autenticato. |
email verificata | booleano | Se l'e-mail di accesso è verificata. |
corda | L'e-mail dell'account. | |
oauthIdToken | corda | Il token ID OIDC, se disponibile. |
oauthAccessToken | corda | Il token di accesso OAuth, se disponibile. |
oauthTokenSecret | corda | Il segreto del token OAuth 1.0, se disponibile. |
rawUserInfo | corda | La risposta JSON stringata contenente tutti i dati IdP corrispondenti alla credenziale OAuth fornita. |
nome di battesimo | corda | Il nome dell'account. |
cognome | corda | Il cognome dell'account. |
nome e cognome | corda | Il nome completo dell'account. |
nome da visualizzare | corda | Il nome visualizzato per l'account. |
fotoUrl | corda | L'URL della foto per l'account. |
idToken | corda | Un token ID autenticazione Firebase per l'utente autenticato. |
aggiornamentoToken | corda | Un token di aggiornamento Firebase Auth per l'utente autenticato. |
scade tra | corda | 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":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento associati all'utente autenticato.
Risposta di esempio con token ID OAuth
{ "federatedId": "https://accounts.google.com/1234567890", "providerId": "google.com", "localId": "5xwsPCWYo...", "emailVerified": true, "email": "user@example.com", "oauthIdToken": "[GOOGLE_ID_TOKEN]", "firstName": "John", "lastName": "Doe", "fullName": "John Doe", "displayName": "John Doe", "idToken": "[ID_TOKEN]", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "refreshToken": "[REFRESH_TOKEN]", "expiresIn": "3600", "rawUserInfo": "{\"updated_time\":\"2017-02-22T01:10:57+0000\",\"gender\":\"male\", ...}" }
Richiesta di esempio con token di accesso OAuth
curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[FIREBASE_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento 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 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":"[FIREBASE_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
. La risposta contiene il token ID Firebase e il token di aggiornamento associati all'utente autenticato.
Risposta di esempio con credenziale Twitter OAuth 1.0
{ "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_RESPONSE: la credenziale di autenticazione fornita non è valida o è scaduta.
- INVALID_ID_TOKEN: La credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
- EMAIL_EXISTS: l'indirizzo email è già utilizzato da un altro account.
- FEDERATED_USER_ID_ALREADY_LINKED: questa credenziale è già associata a un account utente diverso.
Scollega fornitore
Puoi scollegare un provider da un utente corrente inviando una richiesta HTTP POST
all'endpoint Auth setAccountInfo
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Payload del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Il token ID Firebase dell'account. |
deleteProvider | Elenco delle stringhe | L'elenco degli ID provider da scollegare, ad esempio: "google.com", "password", ecc. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
localId | corda | L'uid dell'utente corrente. |
corda | L'e-mail dell'account. | |
nome da visualizzare | corda | Il nome visualizzato per l'account. |
fotoUrl | corda | L'URL della foto per l'account. |
passwordHash | corda | Versione hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId". |
email verificata | booleano | Se l'e-mail dell'account è stata verificata o meno. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
.
Risposta di esempio
{ "localId": "huDwUz...", "email": "user@example.com", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg", "passwordHash": "...", "providerUserInfo": [ { "providerId": "google.com", "federatedId": "1234567890", "displayName": "John Doe", "photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg" }, { "providerId": "password", "federatedId": "user@example.com" } ], "emailVerified": "true" }
Codici di errore comuni
- INVALID_ID_TOKEN: la credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
Invia verifica via e-mail
Puoi inviare una verifica email per l'utente corrente emettendo una richiesta HTTP POST
all'endpoint Auth getOobConfirmationCode
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]Intestazioni facoltative
Nome della proprietà | Descrizione |
---|---|
X-Firebase-Locale | Il codice della lingua corrispondente alle impostazioni locali dell'utente. Il superamento di questa operazione localizzerà la verifica e-mail inviata all'utente. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
Tipo di richiesta | corda | Il tipo di codice di conferma da inviare. Dovrebbe essere sempre "VERIFY_EMAIL". |
idToken | corda | Il token ID Firebase dell'utente da verificare. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
corda | L'e-mail dell'account. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \ -H 'Content-Type: application/json' \ --data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[FIREBASE_ID_TOKEN]"}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
.
Risposta di esempio
{ "email": "user@example.com" }
Codici di errore comuni
- INVALID_ID_TOKEN: la credenziale dell'utente non è più valida. L'utente deve accedere nuovamente.
- USER_NOT_FOUND: non esiste alcun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Conferma la verifica dell'e-mail
Puoi confermare un codice di verifica email inviando una richiesta HTTP POST
all'endpoint Auth setAccountInfo
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]Carico utile del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
oobCode | corda | Il codice di azione inviato all'e-mail dell'utente per la verifica e-mail. |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
corda | L'e-mail dell'account. | |
nome da visualizzare | corda | Il nome visualizzato per l'account. |
fotoUrl | corda | L'URL della foto per l'account. |
passwordHash | corda | L'hash della password. |
providerUserInfo | Elenco di oggetti JSON | Elenco di tutti gli oggetti provider collegati che contengono "providerId" e "federatedId". |
email verificata | booleano | Se l'e-mail dell'account è stata verificata o meno. |
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'
Una richiesta riuscita è indicata da un codice di stato HTTP 200 OK
.
Risposta di esempio
{ "localId": "FhyStE...", "email": "user@example.com", "passwordHash": "...", "providerUserInfo": [ { "providerId": "password", "federatedId": "user@example.com" } ] }
Codici di errore comuni
- EXPIRED_OOB_CODE: il codice dell'azione è scaduto.
- INVALID_OOB_CODE: il codice dell'azione non è valido. Ciò può verificarsi se il codice non è valido, è scaduto o è già stato utilizzato.
- USER_DISABLED: l'account utente è stato disabilitato da un amministratore.
- EMAIL_NOT_FOUND: non esiste alcun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Eliminare l'account
Puoi eliminare un utente corrente inviando una richiesta HTTP POST
all'endpoint Auth deleteAccount
.
Metodo: POST
Tipo di contenuto: application/json
Endpointhttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]Carico utile del corpo della richiesta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
idToken | corda | Il token ID Firebase dell'utente da eliminare. |
Nome della proprietà | Tipo | Descrizione |
---|
Esempio di richiesta
curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_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 nuovamente.
- USER_NOT_FOUND: non esiste alcun record utente corrispondente a questo identificatore. L'utente potrebbe essere stato eliminato.
Emulatore di autenticazione Firebase
Firebase Local Emulator Suite include un emulatore di autenticazione , che può essere utilizzato per la prototipazione locale e il test dei flussi di autenticazione. L'emulatore espone i seguenti endpoint REST.
Cancella account utente
Rimuovi tutti gli account nel progetto specificato, indipendentemente dallo stato.
Metodo: ELIMINA
Punto finale Tieni presente che 9099
è la porta predefinita per l'emulatore di autenticazione. Controllare l'output del terminale per la porta effettivamente utilizzata.
http://localhost:9099/emulator/v1/projects/{project-id}/accounts
Ottieni la configurazione dell'emulatore
Ottieni la configurazione specifica dell'emulatore per il progetto specificato.
Metodo: OTTIENI
Punto finale Tieni presente che 9099
è la porta predefinita per l'emulatore di autenticazione. Controllare l'output del terminale per la porta effettivamente utilizzata.
http://localhost:9099/emulator/v1/projects/{project-id}/configPayload di risposta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
registrazione | oggetto | Oggetto di configurazione di Signin contenente una singola chiave, allowDuplicateEmails (booleano). |
Configurazione dell'emulatore patch
Aggiorna la configurazione specifica dell'emulatore per il progetto specificato.
Metodo: patch
Endpoint Si noti che 9099
è la porta predefinita per l'emulatore di autenticazione. Controllare l'uscita del terminale per la porta effettiva utilizzata.
Content-Type: Application/JSON
http://localhost:9099/emulator/v1/projects/{project-id}/configRichiedi carico utile del corpo
Nome della proprietà | Tipo | Descrizione |
---|---|---|
registrazione | oggetto | Oggetto di configurazione di Signin desiderato con una chiave singola, allowDuplicateEmails (booleano). |
Nome della proprietà | Tipo | Descrizione |
---|---|---|
registrazione | oggetto | Oggetto di configurazione di Signin post-Richiesta con singola chiave, allowDuplicateEmails (booleano). |
Recupera i codici di autenticazione fuori banda
Se i flussi di autenticazione che stai testando generano normalmente codici fuori banda (ad esempio, codici di verifica e-mail, codici di reimpostazione della password), l'emulatore memorizza tali codici internamente fino a quando non vengono utilizzati.
Metodo: ottenere
Endpoint Si noti che 9099
è la porta predefinita per l'emulatore di autenticazione. Controllare l'uscita del terminale per la porta effettiva utilizzata.
http://localhost:9099/emulator/v1/projects/{project-id}/oobCodesPayload di risposta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
oobcodes | vettore | Una serie di oggetti contenenti dettagli di tutti i codici di conferma in sospeso. Ogni oggetto contiene email (stringa), oobCode (stringa), oobLink (stringa) e requestType (stringa) |
Recupera i codici di verifica SMS
Se stai testando i flussi di autenticazione del telefono/SMS, l'emulatore memorizza tali codici SMS internamente fino a quando non vengono utilizzati.
Metodo: ottenere
Endpoint Si noti che 9099
è la porta predefinita per l'emulatore di autenticazione. Controllare l'uscita del terminale per la porta effettiva utilizzata.
http://localhost:9099/emulator/v1/projects/{project-id}/verificationCodesPayload di risposta
Nome della proprietà | Tipo | Descrizione |
---|---|---|
Verificationcodes | vettore | Una serie di oggetti contenenti dettagli di tutti i codici di verifica in sospeso. Ogni oggetto contiene phoneNumber (String) e sessionCode (String). |
Risposta di errore
Formato di risposta all'errore
Ogni volta che un errore viene restituito dal server backend per una delle API sopra, la risposta avrà il seguente formato.
Risposta del campione
{ "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } ], "code": 400, "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN" } }
Il codice di errore è ottenuto dal campo del messaggio. Tutti i codici di errore di cui sopra si riferiscono al contenuto del campo del messaggio.