API REST di autenticazione Firebase

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

Endpoint
https://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.
Carico utile della risposta
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

Endpoint
https://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.
Carico utile della risposta
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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Payload del corpo della richiesta
Nome della proprietà Tipo Descrizione
e-mail 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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
idToken corda Un token ID autenticazione Firebase per l'utente appena creato.
e-mail 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

Endpoint
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Carico utile del corpo della richiesta
Nome della proprietà Tipo Descrizione
e-mail 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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
idToken corda Un token ID autenticazione Firebase per l'utente autenticato.
e-mail 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

Endpoint
https://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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
idToken corda Un token ID autenticazione Firebase per l'utente appena creato.
e-mail 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

Endpoint
https://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.
Carico utile della risposta
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.
e-mail 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

Endpoint
https://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.
Carico utile della risposta
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

Endpoint
https://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.
Richiedi carico utile del corpo
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.
e-mail corda Indirizzo e-mail dell'utente.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
e-mail 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

Endpoint
https://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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
e-mail 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

Endpoint
https://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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
e-mail 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

Endpoint
https://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.
Richiedi carico utile del corpo
Nome della proprietà Tipo Descrizione
idToken corda Un token ID di autenticazione Firebase per l'utente.
e-mail corda La nuova email dell'utente.
returnSecureToken booleano Se restituire o meno un ID e un token di aggiornamento.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
localId corda L'uid dell'utente corrente.
e-mail 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

Endpoint
https://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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
localId corda L'uid dell'utente corrente.
e-mail 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

Endpoint
https://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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
localId corda L'uid dell'utente corrente.
e-mail 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

Endpoint
https://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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
utenti Elenco di oggetti JSON L'account associato al token ID Firebase specificato. Controlla di seguito per maggiori dettagli.
Payload della risposta (contenuto dell'array users )
Nome della proprietà Tipo Descrizione
localId corda L'uid dell'utente corrente.
e-mail 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.

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

Endpoint
https://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.
e-mail 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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
localId corda L'uid dell'utente corrente.
e-mail 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ù.

Puoi collegare una credenziale OAuth a un utente inviando una richiesta HTTP POST all'endpoint Auth verifyAssertion .

Metodo: POST

Tipo di contenuto: application/json

Endpoint
https://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.
Carico utile della risposta
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.
e-mail 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.

Puoi scollegare un provider da un utente corrente inviando una richiesta HTTP POST all'endpoint Auth setAccountInfo .

Metodo: POST

Tipo di contenuto: application/json

Endpoint
https://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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
localId corda L'uid dell'utente corrente.
e-mail 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

Endpoint
https://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.
Richiedi carico utile del corpo
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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
e-mail 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

Endpoint
https://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.
Carico utile della risposta
Nome della proprietà Tipo Descrizione
e-mail 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

Endpoint
https://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.
Carico utile della risposta
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}/config
Payload 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}/config
Richiedi carico utile del corpo
Nome della proprietà Tipo Descrizione
registrazione oggetto Oggetto di configurazione di Signin desiderato con una chiave singola, allowDuplicateEmails (booleano).
Payload di risposta
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}/oobCodes
Payload 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}/verificationCodes
Payload 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.