Method: accounts.createAuthUri

Wenn eine E-Mail-ID angegeben ist, wird geprüft, ob ein Nutzerkonto mit der E-Mail-Adresse registriert ist. Wenn ein Konto registriert ist, werden alle Anbieter abgerufen, die mit der E-Mail-Adresse des Kontos verknüpft sind.

Wenn die Anbieter-ID eines Identitätsanbieters (Identity Provider, IdP) angegeben ist, wird ein Autorisierungs-URI für den IdP erstellt. Der Nutzer kann zu diesem URI weitergeleitet werden, um sich beim Identitätsanbieter anzumelden.

In der Anfrage ist ein API-Schlüssel erforderlich, um das Google Cloud-Projekt zu identifizieren.

HTTP-Anfrage

POST https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "identifier": string,
  "continueUri": string,
  "openidRealm": string,
  "providerId": string,
  "oauthConsumerKey": string,
  "oauthScope": string,
  "context": string,
  "otaApp": string,
  "appId": string,
  "hostedDomain": string,
  "sessionId": string,
  "authFlowType": string,
  "customParameter": {
    string: string,
    ...
  },
  "tenantId": string
}
Felder
identifier

string

Die E-Mail-ID des Nutzerkontos, für das verknüpfte Anbieter abgerufen werden sollen. Mindestens eines der Felder identifier und providerId muss festgelegt sein.

Die E-Mail-Adresse darf maximal 256 Zeichen lang sein und muss das Format name@domain.tld haben. Die E-Mail-Adresse muss außerdem der addr-spec-Produktion von RFC 822 entsprechen.

continueUri

string

Eine gültige URL, an die der IdP den Nutzer zurückleiten soll. Die URL darf keine Fragmente oder den reservierten Abfrageparameter state enthalten.

openidRealm
(deprecated)

string

providerId

string

Die Anbieter-ID des Identitätsanbieters, mit dem sich der Nutzer anmelden soll. Dies sollte eine für die Anmeldung aktivierte Anbieter-ID sein, die entweder aus der Liste der standardmäßig unterstützten Identitätsanbieter stammt oder das Format oidc.* oder saml.* hat. Beispiele hierfür sind google.com, facebook.com, oidc.testapp und saml.testapp. Mindestens eines der Felder identifier und providerId muss festgelegt sein.

oauthConsumerKey
(deprecated)

string

oauthScope

string

Zusätzliche, durch Leerzeichen getrennte OAuth 2.0-Bereiche, die den Umfang der Authentifizierungsanfrage beim Identitätsanbieter angeben. Wird für OAuth 2.0-IdPs verwendet.

Wenn dieses Feld festgelegt ist, wird für den Google-Anbieter der Autorisierungscode-Vorgang verwendet.

context

string

Ein opaker String, der verwendet wird, um Kontextinformationen zwischen der Authentifizierungsanfrage und dem Rückruf vom IdP aufrechtzuerhalten.

otaApp
(deprecated)

string

appId
(deprecated)

string

hostedDomain

string

Wird für den Google-Anbieter verwendet. Die vom Nutzer gehostete G Suite-Domain, um die Anmeldung auf Nutzer in dieser Domain zu beschränken.

sessionId

string

Eine Sitzungs-ID, die in „accounts.signInWithIdp“ überprüft werden kann, um Sitzungsfixierungsangriffe zu verhindern. Andernfalls wird ein zufälliger String generiert und als Sitzungs-ID zurückgegeben.

authFlowType

string

Wird für den Google-Anbieter verwendet. Der zu verwendende Authentifizierungsablauf. Falls vorhanden, sollte dies CODE_FLOW sein, um den Autorisierungscodeablauf anzugeben. Andernfalls wird der Standard-ID-Token-Ablauf verwendet.

customParameter

map (key: string, value: string)

Zusätzliche benutzerdefinierte Suchparameter, die dem Autorisierungs-URI hinzugefügt werden sollen. Die folgenden Parameter sind reserviert und können nicht hinzugefügt werden: clientId, responseType, scope, redirectUri, state.

Für den Microsoft-Anbieter kann der Azure AD-Mandant, bei dem Sie sich anmelden möchten, im benutzerdefinierten Parameter tenant angegeben werden.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tenantId

string

Die ID des Identity Platform-Mandanten, für den ein Autorisierungs-URI erstellt oder eine E-Mail-ID abgerufen werden soll. Wenn nicht festgelegt, wird der Vorgang in der Standard-Identity Platform-Instanz im Projekt ausgeführt.

Antworttext

Antwortnachricht für accounts.createAuthUri

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "kind": string,
  "authUri": string,
  "allProviders": [
    string
  ],
  "registered": boolean,
  "providerId": string,
  "forExistingProvider": boolean,
  "captchaRequired": boolean,
  "sessionId": string,
  "signinMethods": [
    string
  ]
}
Felder
kind
(deprecated)

string

authUri

string

Der Autorisierungs-URI für den angeforderten Anbieter. Nur vorhanden, wenn in der Anfrage eine Anbieter-ID festgelegt ist.

allProviders[]
(deprecated)

string

registered

boolean

Gibt an, ob die E-Mail-ID einem vorhandenen Konto zugewiesen ist. Nur vorhanden, wenn in der Anfrage eine E-Mail-ID festgelegt ist.

providerId

string

Die Anbieter-ID aus der Anfrage, sofern angegeben.

forExistingProvider

boolean

Gibt an, ob sich der Nutzer zuvor mit der Anbieter-ID in der Anfrage angemeldet hat. Nur vorhanden, wenn in der Anfrage eine registrierte E-Mail-ID festgelegt ist.

captchaRequired

boolean

Ob ein CAPTCHA erforderlich ist, weil es zu viele fehlgeschlagene Anmeldeversuche des Nutzers gab. Nur vorhanden, wenn in der Anfrage eine registrierte E-Mail-ID festgelegt ist.

sessionId

string

Die Sitzungs-ID aus der Anfrage oder ein zufälliger String, der von „accounts.createAuthUri“ generiert wird, falls nicht vorhanden. Sie wird verwendet, um Sitzungsfixierungsangriffe zu verhindern.

signinMethods[]

string

Die Liste der Anmeldemethoden, die der Nutzer zuvor verwendet hat. Jedes Element ist password, emailLink oder die Anbieter-ID eines IdP. Nur vorhanden, wenn in der Anfrage eine registrierte E-Mail-ID festgelegt ist. Wenn der Schutz vor E-Mail-Aufzählungen aktiviert ist, gibt diese Methode eine leere Liste zurück.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

  • https://www.googleapis.com/auth/identitytoolkit
  • https://www.googleapis.com/auth/cloud-platform

Weitere Informationen finden Sie unter Authentication Overview.