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:
Rufen Sie in der Google Cloud Console die Seite Identitätsanbieter auf.
Zur Seite "Identitätsanbieter"Klicken Sie auf Details zur Einrichtung der Anwendung.
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:signInWithCustomToken?key=[API_KEY]
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. |
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. |
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
Endpunkthttps://securetoken.googleapis.com/v1/token?key=[API_KEY]
Property-Name | Typ | Beschreibung |
---|---|---|
grant_type | string | Der Berechtigungstyp des Aktualisierungstokens, immer "refresh_token". |
refresh_token | string | Ein Identity Platform-Aktualisierungstoken. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
Property-Name | Typ | Beschreibung |
---|---|---|
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. |
Attributname | Typ | Beschreibung |
---|---|---|
idToken | string | Ein Identity Platform-ID-Token für den neu erstellten Nutzer. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
Property-Name | Typ | Beschreibung |
---|---|---|
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. |
Attributname | Typ | Beschreibung |
---|---|---|
idToken | string | Ein Identity Platform-ID-Token für den authentifizierten Nutzer. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:signUp?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
idToken | string | Ein Identity Platform-ID-Token für den neu erstellten Nutzer. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
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. |
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. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:createAuthUri?key=[API_KEY]
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. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
requestType | string | Die Art des OOB-Codes, der zurückgegeben werden soll. Sollte „PASSWORD_RESET“ lauten, um das Passwort zurückzusetzen. |
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. |
Attributname | Typ | Beschreibung |
---|---|---|
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:resetPassword?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
idToken | string | Ein Identity Platform-ID-Token für den Nutzer. |
string | Die neue E-Mail des Nutzers. | |
returnSecureToken | boolean | Gibt an, ob eine ID und ein Aktualisierungstoken zurückgegeben werden sollen. |
Attributname | Typ | Beschreibung |
---|---|---|
localId | string | Die UID des aktuellen Nutzers. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
localId | string | Die UID des aktuellen Nutzers. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
localId | string | Die UID des aktuellen Nutzers. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]
Property-Name | Typ | Beschreibung |
---|---|---|
idToken | string | Das Identity Platform-ID-Token des Kontos. |
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. |
users
-Arrayinhalt)Attributname | Typ | Beschreibung |
---|---|---|
localId | string | Die UID des aktuellen Nutzers. |
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.
Mit E-Mail-Adresse/Passwort verknüpfen
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
Property-Name | Typ | Beschreibung |
---|---|---|
idToken | string | Das Identity Platform-ID-Token des Kontos, mit dem Sie die Anmeldedaten verknüpfen möchten. |
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. |
Attributname | Typ | Beschreibung |
---|---|---|
localId | string | Die UID des aktuellen Nutzers. |
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.
Mit OAuth-Anmeldedaten verknüpfen
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:signInWithIdp?key=[API_KEY]
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. |
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. |
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.
Verknüpfung mit Anbieter aufheben
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
localId | string | Die UID des aktuellen Nutzers. |
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[API_KEY]
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. |
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. |
Attributname | Typ | Beschreibung |
---|---|---|
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:update?key=[API_KEY]
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. |
Attributname | Typ | Beschreibung |
---|---|---|
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
Endpunkthttps://identitytoolkit.googleapis.com/v1/accounts:delete?key=[API_KEY]
Property-Name | Typ | Beschreibung |
---|---|---|
idToken | string | Das Identity Platform-ID-Token des zu löschenden Nutzers. |
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
.