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.

Hinweise

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 austauschen, indem Sie eine HTTP-POST-Anfrage an den signInWithCustomToken-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
Textnutzlast anfordern
Attributname 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.
Anforderungen an benutzerdefinierte Tokens
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äufige 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 Endpunkt securetoken.googleapis.com senden.

Methode:POST

Content-Type: application/x-www-form-urlencoded

Endpunkt
https://securetoken.googleapis.com/v1/token?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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 des angegebenen 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 senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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 einen Nutzer mit einer E-Mail-Adresse und einem Passwort anmelden, indem Sie eine HTTP-POST-Anfrage an den Auth-verifyPassword-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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 einen Nutzer anonym anmelden, indem Sie eine HTTP-POST-Anfrage an den Auth-signupNewUser-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige Fehlercodes

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

Mit den OAuth-Anmeldedaten anmelden

Sie können einen Nutzer mit OAuth-Anmeldedaten anmelden, indem Sie eine HTTP-POST-Anfrage an den Auth-verifyAssertion-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Textnutzlast anfordern
Attributname 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 Anmeldedaten für 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\", ...}"
}

Häufige 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 mit einer bestimmten E-Mail-Adresse verknüpften Anbieter suchen, indem Sie eine HTTP-POST-Anfrage an den Auth-createAuthUri-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige Fehlercodes

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

E-Mail zum Zurücksetzen des Passworts senden

Sie können eine E-Mail zum Zurücksetzen des Passworts senden, indem Sie eine HTTP-POST-Anfrage an den Auth-getOobConfirmationCode-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Optionale Header
Attributname 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.
Textnutzlast anfordern
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äufige 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 verifizieren, indem Sie eine HTTP-POST-Anfrage an den Auth-resetPassword-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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 vornehmen, indem Sie eine HTTP-POST-Anfrage an den Auth-resetPassword-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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-setAccountInfo-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Optionale Header
Attributname 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.
Textnutzlast anfordern
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äufige 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-setAccountInfo-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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 (Anzeigename / Foto-URL) aktualisieren, indem Sie eine HTTP-POST-Anfrage an den Auth-setAccountInfo-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige Fehlercodes

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

Nutzerdaten abrufen

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

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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-setAccountInfo-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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, indem Sie eine HTTP-POST-Anfrage an den Auth-verifyAssertion-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
Textnutzlast anfordern
Attributname 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 Anmeldedaten für 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\", ...}"
}

Häufige 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

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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, indem Sie eine HTTP-POST-Anfrage an den Auth-getOobConfirmationCode-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
Optionale Header
Attributname 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.
Textnutzlast anfordern
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äufige 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-setAccountInfo-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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-deleteAccount-Endpunkt senden.

Methode:POST

Content-Type: application/json

Endpunkt
https://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Textnutzlast anfordern
Attributname 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äufige 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

Hier ein Beispiel für 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.