REST API verwenden

In diesem Dokument erfahren Sie, wie Sie mit der Identity Platform REST API gängige Nutzervorgänge ausführen, z. B. Nutzer anmelden und mit Tokens arbeiten.

Hinweis

Zur Verwendung der REST API benötigen Sie einen Identity Platform API-Schlüssel. So erhältst du einen Schlüssel:

  1. Rufen Sie in der Google Cloud Console die Seite Identitätsanbieter auf.
    Zur Seite "Identitätsanbieter"

  2. Klicken Sie auf Details zur Einrichtung der Anwendung.

  3. Kopieren Sie das Feld apiKey.

Beachten Sie, dass HTTPS für alle API-Aufrufe erforderlich ist.

API aufrufen

Benutzerdefiniertes Token gegen eine ID und ein Aktualisierungstoken eintauschen

Sie können ein benutzerdefiniertes Auth-Token gegen eine ID und ein Aktualisierungstoken eintauschen, indem Sie eine HTTP-POST-Anfrage an den signInWithCustomToken-Endpunkt senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
token string Ein benutzerdefiniertes Identity Platform-Token, aus dem ein ID/Aktualisierungstoken-Paar erstellt werden soll.
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen. Sollte immer wahr sein.
tenantId string Die Mandanten-ID, mit der sich der Nutzer anmeldet. Wird nur für die Mandantenfähigkeit verwendet.
Muss mit der Mandanten-ID im Token übereinstimmen.
Benutzerdefinierte Token-Anforderungen
Attribut Name Beschreibung
alg Algorithmus Sollte RS256 sein.
iss Aussteller Die E-Mail-Adresse des Dienstkontos Ihres Projekts.
sub Betreff Die E-Mail-Adresse des Dienstkontos Ihres Projekts.
aud Zielgruppe https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit
iat Ausstellungszeit Die aktuelle Zeit in Sekunden seit der UNIX-Epoche.
exp Ablaufzeit Die Zeit in Sekunden seit der UNIX-Epoche, zu der das Token abläuft. Dies kann maximal 3.600 Sekunden später als iat sein.
Beachten Sie, dass damit nur der Zeitpunkt gesteuert wird, zu dem das benutzerdefinierte Token selbst abläuft. Wenn Sie jedoch einen Nutzer mit signInWithCustomToken() anmelden, bleiben er so lange auf dem Gerät angemeldet, bis die Sitzung ungültig wird oder der Nutzer sich abmeldet.
uid Nutzer-ID Die eindeutige ID des Nutzers. Sie muss zwischen 1 und 36 Zeichen lang sein.
tenant_id Mandanten-ID Die ID des Mandanten, bei dem sich der Nutzer anmeldet.
claims (optional) Optionale benutzerdefinierte Anforderungen, die in die Variablen auth oder request.auth der Sicherheitsregeln aufgenommen werden sollen.
Antwortnutzlast
Attributname Typ Beschreibung
idToken string Ein Identity Platform-ID-Token, das aus dem angegebenen benutzerdefinierten Token generiert wurde.
refreshToken string Ein aus dem bereitgestellten benutzerdefinierten Token generiertes Identity Platform-Aktualisierungstoken.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"token":"[CUSTOM_TOKEN]","returnSecureToken":true}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem benutzerdefinierten Token zugeordnet sind.

Beispielantwort

{
  "idToken": "[ID_TOKEN]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Häufig vorkommende Fehlercodes

  • INVALID_CUSTOM_TOKEN: Das benutzerdefinierte Tokenformat ist falsch oder das Token ist aus irgendeinem Grund ungültig (z. B. abgelaufen, ungültige Signatur usw.).
  • CREDENTIAL_MISMATCH: Das benutzerdefinierte Token entspricht einem anderen Google Cloud-Projekt.

Aktualisierungstoken gegen ein ID-Token austauschen

Sie können ein Identity Platform-ID-Token aktualisieren, indem Sie eine HTTP-POST-Anfrage an den securetoken.googleapis.com-Endpunkt senden.

Methode: POST

Inhaltstyp: application/x-www-form-urlencoded

Endpunkt
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
grant_type string Der Berechtigungstyp des Aktualisierungstokens, immer "refresh_token".
refresh_token string Ein Identity Platform-Aktualisierungstoken.
Antwortnutzlast
Attributname Typ Beschreibung
expires_in string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.
token_type string Der Typ des Aktualisierungstokens, immer „Bearer“.
refresh_token string Das in der Anfrage enthaltene Identity Platform-Aktualisierungstoken oder ein neues Aktualisierungstoken.
id_token string Ein Identity Platform-ID-Token.
user_id string Die UID, die dem bereitgestellten ID-Token entspricht.
project_id String Ihre Google Cloud-Projekt-ID.

Beispielanfrage

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]'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das neue Identity Platform-ID-Token und das Aktualisierungstoken.

Beispielantwort

{
  "expires_in": "3600",
  "token_type": "Bearer",
  "refresh_token": "[REFRESH_TOKEN]",
  "id_token": "[ID_TOKEN]",
  "user_id": "tRcfmLH7o2XrNELi...",
  "project_id": "1234567890"
}

Häufig vorkommende Fehlercodes

  • TOKEN_EXPIRED: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • USER_DISABLED: Das Nutzerkonto wurde von einem Administrator deaktiviert.
  • USER_NOT_FOUND: Der Nutzer, der dem Aktualisierungstoken entspricht, wurde nicht gefunden. Der Nutzer wurde wahrscheinlich gelöscht.
  • API-Schlüssel ist ungültig. Übergeben Sie einen gültigen API-Schlüssel. (Ungültiger API-Schlüssel angegeben)
  • INVALID_REFRESH_TOKEN: Ein ungültiges Aktualisierungstoken wurde angegeben.
  • Ungültige JSON-Nutzlast empfangen. Unbekannter Name „refresh_tokens“: Der Abfrageparameter kann nicht gebunden werden. Das Feld „refresh_tokens“ wurde in der Anfragenachricht nicht gefunden.
  • INVALID_GRANT_TYPE: Der angegebene Berechtigungstyp ist ungültig.
  • MISSING_REFRESH_TOKEN: Kein Aktualisierungstoken angegeben.
  • PROJECT_NUMBER_MISMATCH: Die Projektnummer des Aktualisierungstokens stimmt nicht mit der Projektnummer des bereitgestellten API-Schlüssels überein.

Mit E-Mail-Adresse/Passwort registrieren

Sie können einen neuen E-Mail- und Passwortnutzer erstellen, indem Sie eine HTTP-POST-Anfrage an den Auth-signupNewUser-Endpunkt ausgeben.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
email string Die E-Mail-Adresse des Nutzers, der erstellt werden soll.
password string Das Passwort für den Nutzer, der erstellt werden soll.
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen. Sollte immer wahr sein.
tenantId string Die Mandanten-ID des Nutzers, der erstellt werden soll. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
idToken string Ein Identity Platform-ID-Token für den neu erstellten Nutzer.
email string Die E-Mail des neu erstellten Nutzers.
refreshToken string Ein Identity Platform-Aktualisierungstoken für den neu erstellten Nutzer.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.
localId string Die UID des neu erstellten Nutzers.

Beispielanfrage

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}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem neuen Konto zugeordnet sind.

Beispielantwort

{
  "idToken": "[ID_TOKEN]",
  "email": "[user@example.com]",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "tRcfmLH7..."
}

Häufig vorkommende Fehlercodes

  • EMAIL_EXISTS: Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet.
  • OPERATION_NOT_ALLOWED: Die Passwortanmeldung ist für dieses Projekt deaktiviert.
  • TOO_MANY_ATTEMPTS_TRY_LATER: Alle Anfragen von diesem Gerät wurden aufgrund ungewöhnlicher Aktivitäten blockiert. Versuchen Sie es später noch einmal.

Mit E-Mail-Adresse/Passwort anmelden

Sie können sich mit einem Nutzer und einer E-Mail-Adresse anmelden, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt verifyPassword ausgeben.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
email string Die E-Mail-Adresse, mit der sich der Nutzer anmeldet.
password string Das Passwort für das Konto.
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen. Sollte immer wahr sein.
tenantId string Die Mandanten-ID, mit der sich der Nutzer anmeldet. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
idToken string Ein Identity Platform-ID-Token für den authentifizierten Nutzer.
email string Die E-Mail-Adresse für den authentifizierten Nutzer.
refreshToken string Ein aktualisierter Identity Platform-Token für den authentifizierten Nutzer.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.
localId string Die UID des authentifizierten Nutzers.
registered boolean Gibt an, ob dies die E-Mail-Adresse eines vorhandenen Kontos ist.

Beispielanfrage

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}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem vorhandenen E-Mail-/Passwort-Konto zugeordnet sind.

Beispielantwort

{
  "localId": "ZY1rJK0eYLg...",
  "email": "[user@example.com]",
  "displayName": "",
  "idToken": "[ID_TOKEN]",
  "registered": true,
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Häufig vorkommende Fehlercodes

  • EMAIL_NOT_FOUND: Es gibt keinen Nutzerdatensatz, der dieser Kennung entspricht. Der Nutzer wurde möglicherweise gelöscht.
  • INVALID_PASSWORD: Das Passwort ist ungültig oder der Nutzer hat kein Passwort.
  • USER_DISABLED: Das Nutzerkonto wurde von einem Administrator deaktiviert.

Anonym anmelden

Sie können sich anonym anmelden, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt signupNewUser ausgeben.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Nutzlast des Anfragetexts
Property-Name Typ Beschreibung
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen. Sollte immer wahr sein.
tenantId string Die Mandanten-ID, mit der sich der Nutzer anmeldet. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
idToken string Ein Identity Platform-ID-Token für den neu erstellten Nutzer.
email string Da der Nutzer anonym ist, muss dieser Wert leer sein.
refreshToken string Ein Identity Platform-Aktualisierungstoken für den neu erstellten Nutzer.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.
localId string Die UID des neu erstellten Nutzers.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"returnSecureToken":true}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem anonymisierten Nutzer zugeordnet sind.

Beispielantwort

{
  "idToken": "[ID_TOKEN]",
  "email": "",
  "refreshToken": "[REFRESH_TOKEN]",
  "expiresIn": "3600",
  "localId": "Jws4SVjpT..."
}

Häufig vorkommende Fehlercodes

  • OPERATION_NOT_ALLOWED: Die anonyme Nutzeranmeldung ist für dieses Projekt deaktiviert.

Mit den OAuth-Anmeldedaten anmelden

Sie können sich mit einem OAuth-Nutzer anmelden, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt verifyAssertion ausgeben.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
requestUri string Der URI, an den der IdP den Nutzer zurückleitet.
postBody string Enthält die OAuth-Anmeldedaten (ein ID-Token oder Zugriffstoken) und die Anbieter-ID, die die Anmeldedaten ausgibt.
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen. Sollte immer wahr sein.
returnIdpCredential boolean Gibt an, ob die Rückgabe der OAuth-Anmeldedaten für die folgenden Fehler erzwungen werden soll: FEDERATED_USER_ID_ALREADY_LINKED und EMAIL_EXISTS.
tenantId string Die Mandanten-ID, mit der sich der Nutzer anmeldet. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
federatedId string Die eindeutige ID identifiziert das IdP-Konto.
providerId string Die ID des verknüpften Anbieters, z. B. "google.com" für den Google-Anbieter.
localId string Die UID des authentifizierten Nutzers.
emailVerified boolean Gibt an, ob die Anmelde-E-Mail-Adresse bestätigt wurde.
email string Die E-Mail-Adresse des Kontos.
oauthIdToken string Das OIDC-ID-Token, falls verfügbar.
oauthAccessToken string Das OAuth-Zugriffstoken, falls verfügbar.
oauthTokenSecret string Das OAuth 1.0-Token-Secret, falls verfügbar.
rawUserInfo string Die String-JSON-Antwort mit allen IdP-Daten, die den bereitgestellten OAuth-Anmeldedaten entsprechen.
firstName string Der Vorname für das Konto.
lastName string Der Nachname für das Konto.
fullName string Der vollständige Name für das Konto.
displayName string Der Anzeigename für das Konto.
photoUrl string Die Foto-URL für das Konto.
idToken string Ein Identity Platform-ID-Token für den authentifizierten Nutzer.
refreshToken string Ein aktualisierter Identity Platform-Token für den authentifizierten Nutzer.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.
needConfirmation boolean Gibt es bereits ein anderes Konto mit denselben Anmeldedaten. Der Nutzer muss sich im ursprünglichen Konto anmelden und die aktuellen Anmeldedaten damit verknüpfen.

Beispielanfrage mit OAuth-ID-Token

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}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem authentifizierten Nutzer zugeordnet sind.

Beispielantwort mit OAuth-ID-Token

{
  "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\", ...}"
}

Beispielanfrage mit OAuth-Zugriffstoken

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}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem authentifizierten Nutzer zugeordnet sind.

Beispielantwort mit OAuth-Zugriffstoken

{
  "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\", ...}"
}

Beispielanfrage mit Twitter OAuth 1.0-Anmeldedaten

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}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem authentifizierten Nutzer zugeordnet sind.

Beispielantwort mit Twitter OAuth 1.0-Anmeldedaten

{
  "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\", ...}"
}

Häufig vorkommende Fehlercodes

  • OPERATION_NOT_ALLOWED: Der entsprechende Anbieter ist für dieses Projekt deaktiviert.
  • INVALID_IDP_RESPONSE: Die angegebenen Anmeldedaten für die Authentifizierung sind fehlerhaft oder abgelaufen.

Anbieter für E-Mails abrufen

Sie können alle Anbieter verknüpft mit einer angegebenen E-Mail-Adresse aufrufen, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt createAuthUri senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
identifier string E-Mail-Adresse des Nutzers
continueUri string Der URI, an den der IdP den Nutzer zurückleitet. Für diesen Anwendungsfall ist dies nur die aktuelle URL.
tenantId string Die Mandanten-ID, mit der sich der Nutzer anmeldet. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
allProviders Liste der Strings Die Liste der Anbieter, bei denen sich der Nutzer zuvor angemeldet hat.
registered boolean Gibt an, ob dies die E-Mail-Adresse eines vorhandenen Kontos ist

Beispielanfrage

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]"}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält die Liste der Anbieter, die mit der E-Mail verknüpft sind.

Beispielantwort

{
  "allProviders": [
    "password",
    "google.com"
  ],
  "registered": true
}

Häufig vorkommende Fehlercodes

  • INVALID_EMAIL: Die E-Mail-Adresse ist falsch formatiert.

E-Mail zum Zurücksetzen des Passworts senden

Sie können eine E-Mail zur Passwortzurücksetzung senden, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt getOobConfirmationCode ausgeben.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Optionale Header
Property-Name Beschreibung
X-Firebase-Locale Der Sprachcode, der der Sprache des Nutzers entspricht. Durch die Übergabe wird die E-Mail zum Zurücksetzen des Passworts an den Nutzer lokalisiert.
Nutzlast des Anfragetextes
Attributname Typ Beschreibung
requestType string Die Art des OOB-Codes, der zurückgegeben werden soll. Sollte „PASSWORD_RESET“ lauten, um das Passwort zurückzusetzen.
email string E-Mail-Adresse des Nutzers.
tenantId string Die Mandanten-ID des Nutzers, der das Zurücksetzen des Passworts anfordert. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
email string E-Mail-Adresse des Nutzers.

Beispielanfrage

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]"}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt.

Beispielantwort

{
 "email": "[user@example.com]"
}

Häufig vorkommende Fehlercodes

  • EMAIL_NOT_FOUND: Es gibt keinen Nutzerdatensatz, der dieser Kennung entspricht. Der Nutzer wurde möglicherweise gelöscht.

Code zum Zurücksetzen des Passworts bestätigen

Sie können einen Code zum Zurücksetzen des Passworts bestätigen, indem Sie eine HTTP-POST-Anfrage an den Auth-resetPassword-Endpunkt ausgeben.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
oobCode string Der E-Mail-Aktionscode, der an die E-Mail-Adresse des Nutzers gesendet wurde, um das Passwort zurückzusetzen.
tenantId string Die Mandanten-ID des Nutzers, der das Zurücksetzen des Passworts anfordert. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
email string E-Mail-Adresse des Nutzers.
requestType string Typ des E-Mail-Aktionscodes. Muss „PASSWORD_RESET“ lauten.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[PASSWORD_RESET_CODE]"}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt.

Beispielantwort

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Häufig vorkommende Fehlercodes

  • OPERATION_NOT_ALLOWED: Die Passwortanmeldung ist für dieses Projekt deaktiviert.
  • EXPIRED_OOB_CODE: Der Aktionscode ist abgelaufen.
  • INVALID_OOB_CODE: Der Aktionscode ist ungültig. Dies kann passieren, wenn der Code fehlerhaft oder abgelaufen ist oder bereits verwendet wurde.

Password-Zurücksetzung bestätigen

Sie können eine Änderung zum Zurücksetzen des Passworts anwenden, indem Sie eine HTTP-POST-Anfrage an den Auth-resetPassword-Endpunkt senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
oobCode string Der E-Mail-Aktionscode, der an die E-Mail-Adresse des Nutzers gesendet wurde, um das Passwort zurückzusetzen.
newPassword string Neues Passwort des Nutzers.
tenantId string Die Mandanten-ID des Nutzers, der das Zurücksetzen des Passworts anfordert. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
email string E-Mail-Adresse des Nutzers.
requestType string Typ des E-Mail-Aktionscodes. Muss „PASSWORD_RESET“ lauten.

Beispielanfrage

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]"}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt.

Beispielantwort

{
  "email": "[user@example.com]",
  "requestType": "PASSWORD_RESET"
}

Häufig vorkommende Fehlercodes

  • OPERATION_NOT_ALLOWED: Die Passwortanmeldung ist für dieses Projekt deaktiviert.
  • EXPIRED_OOB_CODE: Der Aktionscode ist abgelaufen.
  • INVALID_OOB_CODE: Der Aktionscode ist ungültig. Dies kann passieren, wenn der Code fehlerhaft oder abgelaufen ist oder bereits verwendet wurde.
  • USER_DISABLED: Das Nutzerkonto wurde von einem Administrator deaktiviert.

E-Mail-Adresse ändern

Sie können die E-Mail-Adresse eines Nutzers ändern, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt setAccountInfo senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Optionale Header
Property-Name Beschreibung
X-Firebase-Locale Der Sprachcode, der der Sprache des Nutzers entspricht. Durch die Übergabe wird der Widerruf der E-Mail-Änderung an den Nutzer lokalisiert.
Nutzlast des Anfragetextes
Attributname Typ Beschreibung
idToken string Ein Identity Platform-ID-Token für den Nutzer.
email string Die neue E-Mail des Nutzers.
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen.
Antwortnutzlast
Attributname Typ Beschreibung
localId string Die UID des aktuellen Nutzers.
email string E-Mail-Adresse des Nutzers.
passwordHash string Hash-Version des Passworts.
providerUserInfo Liste der JSON-Objekte Liste aller verknüpften Anbieterobjekte, die "providerId" und "federatedId" enthalten.
idToken string Neues Identity Platform-ID-Token für den Nutzer.
refreshToken string Ein Identity Platform-Aktualisierungstoken.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[GCIP_ID_TOKEN]","email":"[user@example2.com]","returnSecureToken":true}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das neue Identity Platform-ID-Token und das Aktualisierungstoken, die dem Nutzer zugeordnet sind.

Beispielantwort

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example2.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example2.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Häufig vorkommende Fehlercodes

  • EMAIL_EXISTS: Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet.
  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.

Passwort ändern

Sie können das Passwort eines Nutzers ändern, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt setAccountInfo senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
idToken string Ein Identity Platform-ID-Token für den Nutzer.
password string Das neue Passwort des Nutzers.
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen.
Antwortnutzlast
Attributname Typ Beschreibung
localId string Die UID des aktuellen Nutzers.
email string E-Mail-Adresse des Nutzers.
passwordHash string Hash-Version des Passworts.
providerUserInfo Liste der JSON-Objekte Liste aller verknüpften Anbieterobjekte, die "providerId" und "federatedId" enthalten.
idToken string Neues Identity Platform-ID-Token für den Nutzer.
refreshToken string Ein Identity Platform-Aktualisierungstoken.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary \
'{"idToken":"[GCIP_ID_TOKEN]","password":"[NEW_PASSWORD]","returnSecureToken":true}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das neue Identity Platform-ID-Token und das Aktualisierungstoken, die dem Nutzer zugeordnet sind.

Beispielantwort

{
  "localId": "tRcfmLH7o2...",
  "email": "[user@example.com]",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "[user@example.com]"
    }
  ],
  "idToken": "[NEW_ID_TOKEN]",
  "refreshToken": "[NEW_REFRESH_TOKEN]",
  "expiresIn": "3600"
}

Häufig vorkommende Fehlercodes

  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • WEAK_PASSWORD: Das Passwort muss mindestens 6 Zeichen lang sein.

Profil aktualisieren

Sie können das Profil eines Nutzers aktualisieren (Anzeigename/Foto-URL), indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt setAccountInfo senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
idToken string Ein Identity Platform-ID-Token für den Nutzer.
displayName string Neuer Anzeigename des Nutzers.
photoUrl string Die neue Foto-URL des Nutzers.
deleteAttribute Liste der Strings Liste der zu löschenden Attribute, "DISPLAY_NAME" oder "PHOTO_URL". Dadurch werden diese Werte aufgehoben.
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen.
Antwortnutzlast
Attributname Typ Beschreibung
localId string Die UID des aktuellen Nutzers.
email string E-Mail-Adresse des Nutzers.
displayName string Neuer Anzeigename des Nutzers.
photoUrl string Die neue Foto-URL des Nutzers.
passwordHash string Hash-Version des Passworts.
providerUserInfo Liste der JSON-Objekte Liste aller verknüpften Anbieterobjekte, die "providerId" und "federatedId" enthalten.
idToken string Neues Identity Platform-ID-Token für den Nutzer.
refreshToken string Ein Identity Platform-Aktualisierungstoken.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.

Beispielanfrage

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}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt.

Beispielantwort

{
  "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"
}

Häufig vorkommende Fehlercodes

  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.

Nutzerdaten abrufen

Die Daten eines Nutzers können Sie abrufen, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt getAccountInfo senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
idToken string Das Identity Platform-ID-Token des Kontos.
Antwortnutzlast
Attributname Typ Beschreibung
users Liste der JSON-Objekte Das Konto, das mit dem angegebenen Identity Platform-ID-Token verknüpft ist. Weitere Informationen finden Sie weiter unten.
Antwortnutzlast (users-Arrayinhalt)
Attributname Typ Beschreibung
localId string Die UID des aktuellen Nutzers.
email string Die E-Mail-Adresse des Kontos.
emailVerified boolean Gibt an, ob die E-Mail-Adresse des Kontos bestätigt wurde.
displayName string Der Anzeigename für das Konto.
providerUserInfo Liste der JSON-Objekte Liste aller verknüpften Anbieterobjekte, die "providerId" und "federatedId" enthalten.
photoUrl string Die Foto-URL für das Konto.
passwordHash string Hash-Version des Passworts.
passwordUpdatedAt double Zeitstempel in Millisekunden, zu dem das Kontopasswort zuletzt geändert wurde.
validSince string Der Zeitstempel in Sekunden, der eine Grenze kennzeichnet, vor welcher Identity Platform-ID-Tokens als widerrufen betrachtet werden.
deaktiviert boolean Gibt an, ob das Konto deaktiviert ist oder nicht.
lastLoginAt string Der Zeitstempel in Millisekunden, zu dem sich das Konto zuletzt angemeldet hat.
createdAt string Der Zeitstempel in Millisekunden, zu dem das Konto erstellt wurde.
customAuth boolean Gibt an, ob das Konto vom Entwickler authentifiziert wurde.
tenantId string Mandanten-ID des Nutzers. Wird nur bei Mandantenfähigkeit zurückgegeben.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält alle Nutzerinformationen, die mit dem Konto verknüpft sind.

Beispielantwort

{
  "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
    }
  ]
}

Häufig vorkommende Fehlercodes

  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • USER_NOT_FOUND: Es gibt keinen Nutzerdatensatz, der dieser Kennung entspricht. Der Nutzer wurde möglicherweise gelöscht.

Sie können eine E-Mail-Adresse/ein Passwort mit einem aktuellen Nutzer verknüpfen, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt setAccountInfo senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nutzlast des Anfragetexts
Property-Name Typ Beschreibung
idToken string Das Identity Platform-ID-Token des Kontos, mit dem Sie die Anmeldedaten verknüpfen möchten.
email string Die E-Mail-Adresse, die mit dem Konto verknüpft werden soll.
password string Das neue Passwort des Kontos.
returnSecureToken string Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen. Sollte immer wahr sein.
Antwortnutzlast
Attributname Typ Beschreibung
localId string Die UID des aktuellen Nutzers.
email string Die E-Mail-Adresse des Kontos.
displayName string Der Anzeigename für das Konto.
photoUrl string Die Foto-URL für das Konto.
passwordHash string Hash-Version des Passworts.
providerUserInfo Liste der JSON-Objekte Liste aller verknüpften Anbieterobjekte, die "providerId" und "federatedId" enthalten.
emailVerified boolean Gibt an, ob die E-Mail-Adresse des Kontos bestätigt wurde.
idToken string Neues Identity Platform-ID-Token für den Nutzer.
refreshToken string Ein Identity Platform-Aktualisierungstoken.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.

Beispielanfrage

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}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem authentifizierten Nutzer zugeordnet sind.

Beispielantwort

{
  "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
}

Häufig vorkommende Fehlercodes

  • CREDENTIAL_TOO_OLD_LOGIN_AGAIN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • TOKEN_EXPIRED: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • WEAK_PASSWORD: Das Passwort muss mindestens 6 Zeichen lang sein.

Sie können OAuth-Anmeldedaten mit einem Nutzer verknüpfen. Senden Sie dazu eine HTTP-POST-Anfrage an den Auth-Endpunkt verifyAssertion.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
idToken string Das Identity Platform-ID-Token des Kontos, mit dem Sie die Anmeldedaten verknüpfen möchten.
requestUri string Der URI, an den der IdP den Nutzer zurückleitet.
postBody string Enthält die OAuth-Anmeldedaten (ein ID-Token oder Zugriffstoken) und die Anbieter-ID, die die Anmeldedaten ausgibt.
returnSecureToken boolean Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen. Sollte immer wahr sein.
returnIdpCredential boolean Gibt an, ob die Rückgabe der OAuth-Anmeldedaten für die folgenden Fehler erzwungen werden soll: FEDERATED_USER_ID_ALREADY_LINKED und EMAIL_EXISTS.
Antwortnutzlast
Attributname Typ Beschreibung
federatedId string Die eindeutige ID identifiziert das IdP-Konto.
providerId string Die ID des verknüpften Anbieters, z. B. "google.com" für den Google-Anbieter.
localId string Die UID des authentifizierten Nutzers.
emailVerified boolean Gibt an, ob die Anmelde-E-Mail-Adresse bestätigt wurde.
email string Die E-Mail-Adresse des Kontos.
oauthIdToken string Das OIDC-ID-Token, falls verfügbar.
oauthAccessToken string Das OAuth-Zugriffstoken, falls verfügbar.
oauthTokenSecret string Das OAuth 1.0-Token-Secret, falls verfügbar.
rawUserInfo string Die String-JSON-Antwort mit allen IdP-Daten, die den bereitgestellten OAuth-Anmeldedaten entsprechen.
firstName string Der Vorname für das Konto.
lastName string Der Nachname für das Konto.
fullName string Der vollständige Name für das Konto.
displayName string Der Anzeigename für das Konto.
photoUrl string Die Foto-URL für das Konto.
idToken string Ein Identity Platform-ID-Token für den authentifizierten Nutzer.
refreshToken string Ein aktualisierter Identity Platform-Token für den authentifizierten Nutzer.
expiresIn string Die Anzahl der Sekunden, nach denen das ID-Token abläuft.

Beispielanfrage mit OAuth-ID-Token

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","idToken":"[GCIP_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem authentifizierten Nutzer zugeordnet sind.

Beispielantwort mit OAuth-ID-Token

{
  "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\", ...}"
}

Beispielanfrage mit OAuth-Zugriffstoken

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[FACEBOOK_ACCESS_TOKEN]&providerId=[facebook.com]","idToken":"[GCIP_ID_TOKEN]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem authentifizierten Nutzer zugeordnet sind.

Beispielantwort mit OAuth-Zugriffstoken

{
  "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\", ...}"
}

Beispielanfrage mit Twitter OAuth 1.0-Anmeldedaten

curl 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"access_token=[TWITTER_ACCESS_TOKEN]&oauth_token_secret=[TWITTER_TOKEN_SECRET]&providerId=[twitter.com]","requestUri":"[http://localhost]","idToken":"[GCIP_ID_TOKEN]","returnIdpCredential":true,"returnSecureToken":true}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt. Die Antwort enthält das Identity Platform-ID-Token und das Aktualisierungstoken, die dem authentifizierten Nutzer zugeordnet sind.

Beispielantwort mit Twitter OAuth 1.0-Anmeldedaten

{
  "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\", ...}"
}

Häufig vorkommende Fehlercodes

  • OPERATION_NOT_ALLOWED: Der entsprechende Anbieter ist für dieses Projekt deaktiviert.
  • INVALID_IDP_RESPONSE: Die angegebenen Anmeldedaten für die Authentifizierung sind fehlerhaft oder abgelaufen.
  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • EMAIL_EXISTS: Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet.
  • FEDERATED_USER_ID_ALREADY_LINKED: Diese Anmeldedaten sind bereits einem anderen Nutzerkonto zugeordnet.

Sie können die Verknüpfung eines Anbieters mit einem aktuellen Nutzer aufheben, indem Sie eine HTTP-POST-Anfrage an den Auth-setAccountInfo-Endpunkt senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
idToken string Das Identity Platform-ID-Token des Kontos.
deleteProvider Liste der Strings Die Liste der Anbieter-IDs, deren Verknüpfung aufgehoben werden soll, z. B. „google.de“, „Passwort“ usw.
Antwortnutzlast
Attributname Typ Beschreibung
localId string Die UID des aktuellen Nutzers.
email string Die E-Mail-Adresse des Kontos.
displayName string Der Anzeigename für das Konto.
photoUrl string Die Foto-URL für das Konto.
passwordHash string Hash-Version des Passworts.
providerUserInfo Liste der JSON-Objekte Liste aller verknüpften Anbieterobjekte, die "providerId" und "federatedId" enthalten.
emailVerified boolean Gibt an, ob die E-Mail-Adresse des Kontos bestätigt wurde.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"idToken":"[GCIP_ID_TOKEN]","deleteProvider":["[facebook.com]"]}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt.

Beispielantwort

{
  "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"
}

Häufig vorkommende Fehlercodes

  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.

E-Mail-Bestätigung senden

Sie können eine E-Mail-Bestätigung für den aktuellen Nutzer senden. Senden Sie dazu eine HTTP-POST-Anfrage an den Auth-Endpunkt getOobConfirmationCode.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Optionale Header
Property-Name Beschreibung
X-Firebase-Locale Der Sprachcode, der der Sprache des Nutzers entspricht. Durch das Übergeben wird die dem Nutzer gesendete E-Mail-Bestätigung lokalisiert.
Nutzlast des Anfragetextes
Attributname Typ Beschreibung
requestType string Der Typ der Bestätigungscode, der gesendet werden soll. Sollte immer „VERIFY_EMAIL“ sein.
idToken string Das Identity Platform-ID-Token des Nutzers, der bestätigt werden soll.
Antwortnutzlast
Attributname Typ Beschreibung
email string Die E-Mail-Adresse des Kontos.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"requestType":"VERIFY_EMAIL","idToken":"[GCIP_ID_TOKEN]"}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt.

Beispielantwort

{
  "email": "user@example.com"
}

Häufig vorkommende Fehlercodes

  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • USER_NOT_FOUND: Es gibt keinen Nutzerdatensatz, der dieser Kennung entspricht. Der Nutzer wurde möglicherweise gelöscht.

E-Mail-Bestätigung bestätigen

Sie können einen E-Mail-Bestätigungscode bestätigen, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt setAccountInfo senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
oobCode string Der Aktionscode, der zur E-Mail-Bestätigung an die E-Mail-Adresse des Nutzers gesendet wird.
tenantId string Die Mandanten-ID des Nutzers, der die E-Mail prüft. Wird nur bei Mandantenfähigkeit verwendet.
Antwortnutzlast
Attributname Typ Beschreibung
email string Die E-Mail-Adresse des Kontos.
displayName string Der Anzeigename für das Konto.
photoUrl string Die Foto-URL für das Konto.
passwordHash string Der Passwort-Hash.
providerUserInfo Liste der JSON-Objekte Liste aller verknüpften Anbieterobjekte, die "providerId" und "federatedId" enthalten.
emailVerified boolean Gibt an, ob die E-Mail-Adresse des Kontos bestätigt wurde.

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"oobCode":"[VERIFICATION_CODE]"}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt.

Beispielantwort

{
  "localId": "FhyStE...",
  "email": "user@example.com",
  "passwordHash": "...",
  "providerUserInfo": [
    {
      "providerId": "password",
      "federatedId": "user@example.com"
    }
  ]
}

Häufig vorkommende Fehlercodes

  • EXPIRED_OOB_CODE: Der Aktionscode ist abgelaufen.
  • INVALID_OOB_CODE: Der Aktionscode ist ungültig. Dies kann passieren, wenn der Code fehlerhaft oder abgelaufen ist oder bereits verwendet wurde.
  • USER_DISABLED: Das Nutzerkonto wurde von einem Administrator deaktiviert.
  • EMAIL_NOT_FOUND: Es gibt keinen Nutzerdatensatz, der dieser Kennung entspricht. Der Nutzer wurde möglicherweise gelöscht.

Konto löschen

Sie können einen aktuellen Nutzer löschen, indem Sie eine HTTP-POST-Anfrage an den Auth-Endpunkt deleteAccount senden.

Methode: POST

Inhaltstyp: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Nutzlast des Anfragetextes
Property-Name Typ Beschreibung
idToken string Das Identity Platform-ID-Token des zu löschenden Nutzers.
Antwortnutzlast
Attributname Typ Beschreibung

Beispielanfrage

curl 'https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]' \
-H 'Content-Type: application/json' --data-binary '{"idToken":"[GCIP_ID_TOKEN]"}'

Eine erfolgreiche Anfrage wird durch einen 200 OK-HTTP-Statuscode angezeigt.

Häufig vorkommende Fehlercodes

  • INVALID_ID_TOKEN: Die Anmeldedaten des Nutzers sind nicht mehr gültig. Der Nutzer muss sich noch einmal anmelden.
  • USER_NOT_FOUND: Es gibt keinen Nutzerdatensatz, der dieser Kennung entspricht. Der Nutzer wurde möglicherweise gelöscht.

Fehlerbehebung

Das folgende Beispiel zeigt einen häufigen Fehler, der von Identity Platform zurückgegeben wird:

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "invalid",
        "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
      }
    ],
    "code": 400,
    "message": "CREDENTIAL_TOO_OLD_LOGIN_AGAIN"
  }
}

Den Fehlercode erhalten Sie im Feld message.