Auf dieser Referenzseite wird die Sign-In JavaScript API beschrieben. Mit dieser API können Sie die Aufforderung zum schnellen Anmelden oder die Schaltfläche „Über Google anmelden“ auf Ihren Webseiten anzeigen lassen.
Methode: google.accounts.id.initialize
Die Methode google.accounts.id.initialize
initialisiert den „Über Google anmelden“-Client basierend auf dem Konfigurationsobjekt. Hier ein Codebeispiel für die Methode:
google.accounts.id.initialize(IdConfiguration)
Im folgenden Codebeispiel wird die Methode google.accounts.id.initialize
mit einer onload
-Funktion implementiert:
<script>
window.onload = function () {
google.accounts.id.initialize({
client_id: 'YOUR_GOOGLE_CLIENT_ID',
callback: handleCredentialResponse
});
google.accounts.id.prompt();
};
</script>
Mit der Methode google.accounts.id.initialize
wird eine Clientinstanz von „Über Google anmelden“ erstellt, die implizit von allen Modulen auf derselben Webseite verwendet werden kann.
- Sie müssen die
google.accounts.id.initialize
-Methode nur einmal aufrufen, auch wenn Sie mehrere Module (z. B. „One Tap“, personalisierte Schaltfläche, Widerruf) auf derselben Webseite verwenden. - Wenn Sie die
google.accounts.id.initialize
-Methode mehrmals aufrufen, werden nur die Konfigurationen des letzten Aufrufs gespeichert und verwendet.
Sie setzen die Konfigurationen jedes Mal zurück, wenn Sie die Methode google.accounts.id.initialize
aufrufen. Alle nachfolgenden Methoden auf derselben Webseite verwenden dann sofort die neuen Konfigurationen.
Datentyp: IdConfiguration
In der folgenden Tabelle sind die Felder und Beschreibungen des Datentyps IdConfiguration
aufgeführt:
Feld | |
---|---|
client_id |
Client-ID Ihrer Anwendung |
auto_select |
Aktiviert die automatische Auswahl. |
callback |
Die JavaScript-Funktion, die ID-Tokens verarbeitet. Dieses Attribut wird für Google One Tap und die Schaltfläche „Über Google anmelden“ im UX-Modus popup verwendet. |
login_uri |
Die URL deines Anmeldeendpunkts. Die Schaltfläche „Über Google anmelden“
redirect UX-Modus verwendet dieses Attribut. |
native_callback |
Die JavaScript-Funktion, die Passwort-Anmeldedaten verarbeitet. |
cancel_on_tap_outside |
Die Aufforderung wird abgebrochen, wenn der Nutzer außerhalb der Aufforderung klickt. |
prompt_parent_id |
Die DOM-ID des Containerelements für die One-Tap-Aufforderung |
nonce |
Ein zufälliger String für ID-Tokens |
context |
Titel und Wörter in der One Tap-Aufforderung |
state_cookie_domain |
Wenn Sie One Tap in der übergeordneten Domain und ihren Subdomains aufrufen möchten, übergeben Sie die übergeordnete Domain an dieses Feld, damit ein einzelnes freigegebenes Cookie verwendet wird. |
ux_mode |
Der UX-Vorgang der Schaltfläche „Über Google anmelden“ |
allowed_parent_origin |
Die Ursprünge, die den Zwischen-iFrame einbetten dürfen. Wenn dieses Feld vorhanden ist, wird One Tap im Zwischen-iframe-Modus ausgeführt. |
intermediate_iframe_close_callback |
Überschreibt das standardmäßige Verhalten des Zwischen-iframes, wenn Nutzer One Tap manuell schließen. |
itp_support |
Aktiviert die verbesserte One Tap-Benutzeroberfläche in ITP-Browsern. |
login_hint |
Sie können die Kontoauswahl überspringen, indem Sie einen Nutzerhinweis angeben. |
hd |
Kontoauswahl nach Domain einschränken |
use_fedcm_for_prompt |
Dem Browser erlauben, Aufforderungen zur Nutzeranmeldung zu steuern und den Anmeldevorgang zwischen Ihrer Website und Google zu vermitteln |
enable_redirect_uri_validation |
Aktivieren Sie die Weiterleitung über eine Schaltfläche, die den Gültigkeitsregeln für Weiterleitungs-URIs entspricht. |
client_id
Dieses Feld ist die Client-ID Ihrer Anwendung, die in der Google Cloud Console gefunden und erstellt wird. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Ja | client_id: "CLIENT_ID.apps.googleusercontent.com" |
auto_select
In diesem Feld wird festgelegt, ob ein ID-Token automatisch ohne Nutzerinteraktion zurückgegeben wird, wenn es nur eine Google-Sitzung gibt, in der Ihre App bereits genehmigt wurde. Der Standardwert ist false
. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
boolean | Optional | auto_select: true |
callback
Dieses Feld ist die JavaScript-Funktion, die das ID-Token verarbeitet, das vom One Tap-Prompt oder dem Pop-up-Fenster zurückgegeben wird. Dieses Attribut ist erforderlich, wenn Google One Tap oder die Schaltfläche „Über Google anmelden“ popup
im UX-Modus verwendet wird. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
Funktion | Erforderlich für One Tap und den UX-Modus popup |
callback: handleResponse |
login_uri
Dieses Attribut ist der URI Ihres Anmeldeendpunkts.
Der Wert muss genau mit einem der autorisierten Weiterleitungs-URIs für den OAuth 2.0-Client übereinstimmen, den Sie in der Google Cloud Console konfiguriert haben. Außerdem muss er unseren Validierungsregeln für Weiterleitungs-URIs entsprechen.
Dieses Attribut kann weggelassen werden, wenn die aktuelle Seite Ihre Anmeldeseite ist. In diesem Fall werden die Anmeldedaten standardmäßig auf dieser Seite gepostet.
Die Antwort mit den Anmeldedaten des ID-Tokens wird an Ihren Anmeldeendpunkt gesendet, wenn ein Nutzer auf die Schaltfläche „Über Google anmelden“ klickt und der UX-Modus für Weiterleitungen verwendet wird.
Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Optional | Beispiel |
---|---|---|
URL | Standardmäßig ist der URI der aktuellen Seite oder der von Ihnen angegebene Wert festgelegt. Wird nur verwendet, wenn ux_mode: "redirect" festgelegt ist. |
login_uri: "https://www.example.com/login" |
Dein Anmeldeendpunkt muss POST-Anfragen mit einem Schlüssel credential
mit einem ID-Token-Wert im Text verarbeiten.
Das folgende Beispiel zeigt eine Anfrage an deinen Anmeldeendpunkt:
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
credential=ID_TOKEN
native_callback
Dieses Feld ist der Name der JavaScript-Funktion, die die Anmeldedaten für das Passwort verarbeitet, die vom nativen Anmeldedaten-Manager des Browsers zurückgegeben werden. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
Funktion | Optional | native_callback: handleResponse |
cancel_on_tap_outside
In diesem Feld wird festgelegt, ob die One-Tap-Anfrage abgebrochen werden soll, wenn ein Nutzer außerhalb der Aufforderung klickt. Der Standardwert ist true
. Sie können sie deaktivieren, indem Sie den Wert auf false
festlegen. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
boolean | Optional | cancel_on_tap_outside: false |
prompt_parent_id
Mit diesem Attribut wird die DOM-ID des Containerelements festgelegt. Wenn dies nicht der Fall ist, wird die Aufforderung für die One-Tap-Funktion rechts oben im Fenster angezeigt. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | prompt_parent_id: 'parent_id' |
Nonce
Dieses Feld ist ein zufälliger String, der vom ID-Token verwendet wird, um Replay-Angriffe zu verhindern. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | nonce: "biaqbm70g23" |
Die Länge der Nonce ist auf die maximale JWT-Größe beschränkt, die von Ihrer Umgebung unterstützt wird, sowie auf die jeweiligen Browser- und Server-HTTP-Größenbeschränkungen.
context
Mit diesem Feld wird der Text des Titels und der Nachrichten im Prompt für die One-Tap-Funktion geändert. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | context: "use" |
In der folgenden Tabelle sind alle verfügbaren Kontexte und ihre Beschreibungen aufgeführt:
Kontext | |
---|---|
signin |
„Über Google anmelden“ |
signup |
„Über Google registrieren“ |
use |
„Mit Google verwenden“ |
state_cookie_domain
Wenn Sie One Tap in der übergeordneten Domain und ihren Subdomains anzeigen möchten, geben Sie die übergeordnete Domain in dieses Feld ein, damit ein einzelnes Cookie mit freigegebenen Status verwendet wird. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | state_cookie_domain: "example.com" |
ux_mode
Mit diesem Feld legen Sie den UX-Vorgang fest, der von der Schaltfläche „Über Google anmelden“ verwendet wird. Der Standardwert ist popup
. Dieses Attribut hat keine Auswirkungen auf die OneTap-UX. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | ux_mode: "redirect" |
In der folgenden Tabelle sind die verfügbaren UX-Modi und ihre Beschreibungen aufgeführt.
UX-Modus | |
---|---|
popup |
Führt den UX-Anmeldevorgang in einem Pop-up-Fenster aus. |
redirect |
Führt den UX-Anmeldevorgang durch eine vollständige Seitenweiterleitung aus. |
allowed_parent_origin
Die Ursprünge, die den Zwischen-iFrame einbetten dürfen. Wenn dieses Feld vorhanden ist, wird One Tap im Zwischen-iframe-Modus ausgeführt. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String oder String-Array | Optional | allowed_parent_origin: "https://example.com" |
In der folgenden Tabelle sind die unterstützten Werttypen und ihre Beschreibungen aufgeführt.
Werttypen | ||
---|---|---|
string |
Ein einzelner Domain-URI. | "https://example.com" |
string array |
Ein Array von Domain-URIs. | ["https://news.example.com", "https://local.example.com"] |
Platzhalterpräfixe werden ebenfalls unterstützt. Beispiel: "https://*.example.com"
stimmt mit example.com
und seinen Subdomains auf allen Ebenen überein (z. B. news.example.com
, login.news.example.com
). Beachten Sie bei der Verwendung von Platzhaltern Folgendes:
- Musterstrings dürfen nicht nur aus einem Wildcard-Zeichen und einer Top-Level-Domain bestehen. Beispielsweise sind
https://.com
undhttps://
.co.uk
ungültig. Wie oben erwähnt, stimmt"https://.example.com"
mitexample.com
und seinen Subdomains überein. Sie können auch ein Array verwenden, um zwei unterschiedliche Domains darzustellen. Beispiel:["https://example1.com", "https://
.example2.com"]
stimmt mit den Domainsexample1.com
,example2.com
und den Subdomains vonexample2.com
überein. - Domains mit Platzhaltern müssen mit dem sicheren Protokoll „https://“ beginnen. Daher gilt
"*.example.com"
als ungültig.
Wenn der Wert des Felds allowed_parent_origin
ungültig ist, schlägt die One Tap-Initialisierung des Zwischen-iframe-Modus fehl und wird beendet.
intermediate_iframe_close_callback
Hiermit wird das standardmäßige Verhalten des Zwischen-iframes überschrieben, wenn Nutzer One Tap manuell schließen, indem sie auf die Schaltfläche „X“ in der One Tap-Benutzeroberfläche tippen. Standardmäßig wird der Zwischen-iframe sofort aus dem DOM entfernt.
Das Feld intermediate_iframe_close_callback
wirkt sich nur im Zwischen-Iframe-Modus aus. Außerdem wirkt sich das nur auf den Zwischen-iframe aus, nicht auf den One Tap-iframe. Die One-Tap-Benutzeroberfläche wird entfernt, bevor der Rückruf aufgerufen wird.
Typ | Erforderlich | Beispiel |
---|---|---|
Funktion | Optional | intermediate_iframe_close_callback: logBeforeClose |
itp_support
In diesem Feld wird festgelegt, ob die
aktualisierte One Tap-Benutzeroberfläche in Browsern aktiviert werden soll, die Intelligent Tracking Prevention (ITP) unterstützen. Der Standardwert ist false
. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
boolean | Optional | itp_support: true |
login_hint
Wenn Ihre Anwendung im Voraus weiß, welcher Nutzer angemeldet sein soll, kann sie Google einen Anmeldehinweis geben. Bei Erfolg wird die Kontoauswahl übersprungen. Zulässige Werte sind eine E-Mail-Adresse oder der Wert des Felds sub eines ID-Tokens.
Weitere Informationen finden Sie im Feld login_hint in der OpenID Connect-Dokumentation.
Typ | Erforderlich | Beispiel |
---|---|---|
String, E-Mail-Adresse oder Wert aus einem ID-Token-sub -Feld. |
Optional | login_hint: 'elisa.beckett@gmail.com' |
HD
Wenn ein Nutzer mehrere Konten hat und sich nur mit seinem Workspace-Konto anmelden soll, verwenden Sie diesen Parameter, um Google einen Domainnamenshinweis zu geben. Wenn der Vorgang erfolgreich war, sind die Nutzerkonten, die bei der Kontoauswahl angezeigt werden, auf die angegebene Domain beschränkt.
Ein Platzhalterwert: *
bietet dem Nutzer nur Workspace-Konten an und schließt bei der Kontoauswahl private Konten (user@gmail.com) aus.
Weitere Informationen finden Sie in der OpenID Connect-Dokumentation im Abschnitt zum Feld hd.
Typ | Erforderlich | Beispiel |
---|---|---|
String. Ein voll qualifizierter Domainname oder *. | Optional | hd: '*' |
use_fedcm_for_prompt
Dem Browser erlauben, Aufforderungen zur Nutzeranmeldung zu steuern und den Anmeldevorgang zwischen Ihrer Website und Google zu vermitteln Die Standardeinstellung ist "false". Weitere Informationen finden Sie auf der Seite Zu FedCM migrieren.
Typ | Erforderlich | Beispiel |
---|---|---|
boolean | Optional | use_fedcm_for_prompt: true |
enable_redirect_uri_validation
Aktivieren Sie die Weiterleitung über eine Schaltfläche, die den Gültigkeitsregeln für Weiterleitungs-URIs entspricht.
Typ | Erforderlich | Beispiel |
---|---|---|
boolean | Optional | enable_redirect_uri_validation: true |
Methode: google.accounts.id.prompt
Die Methode google.accounts.id.prompt
ruft die Aufforderung für die One-Tap-Authentifizierung oder den nativen Anmeldedaten-Manager des Browsers auf, nachdem die Methode initialize()
aufgerufen wurde.
Hier ein Codebeispiel für die Methode:
google.accounts.id.prompt(/**
@type{(function(!PromptMomentNotification):void)=} */ momentListener)
Normalerweise wird die prompt()
-Methode beim Laden der Seite aufgerufen. Aufgrund des Sitzungsstatus und der Nutzereinstellungen auf Google-Seite wird die One Tap-Aufforderung möglicherweise nicht angezeigt. Wenn Sie zu verschiedenen Zeitpunkten über den UI-Status benachrichtigt werden möchten, übergeben Sie eine Funktion, um Benachrichtigungen zum UI-Status zu erhalten.
Benachrichtigungen werden in den folgenden Fällen gesendet:
- Anzeigenmoment:Dieser tritt auf, nachdem die Methode
prompt()
aufgerufen wurde. Die Benachrichtigung enthält einen booleschen Wert, der angibt, ob die Benutzeroberfläche angezeigt wird oder nicht. Übersprungener Moment:Dieser Fall tritt auf, wenn die Aufforderung zum One-Tap-Login durch eine automatische oder manuelle Stornierung geschlossen wird oder Google keine Anmeldedaten ausstellen kann, z. B. wenn die ausgewählte Sitzung von Google abgemeldet wurde.
In diesen Fällen empfehlen wir Ihnen, mit dem nächsten Identitätsanbieter fortzufahren, falls vorhanden.
Abgelehnt:Dieser Status wird angezeigt, wenn Google Anmeldedaten erfolgreich abgerufen hat oder ein Nutzer den Abrufvorgang abbrechen möchte. Wenn der Nutzer beispielsweise beginnt, seinen Nutzernamen und sein Passwort in Ihrem Anmeldedialogfeld einzugeben, können Sie die Methode
google.accounts.id.cancel()
aufrufen, um die Aufforderung zum schnellen Anmelden zu schließen und einen Moment der Ablehnung auszulösen.
Im folgenden Codebeispiel wird der übersprungene Moment implementiert:
<script>
window.onload = function () {
google.accounts.id.initialize(...);
google.accounts.id.prompt((notification) => {
if (notification.isNotDisplayed() || notification.isSkippedMoment()) {
// continue with another identity provider.
}
});
};
</script>
Datentyp: PromptMomentNotification
In der folgenden Tabelle sind Methoden und Beschreibungen des Datentyps PromptMomentNotification
aufgeführt:
Methode | |
---|---|
isDisplayMoment() |
Bezieht sich diese Benachrichtigung auf einen Displaymoment? Hinweis : Wenn FedCM aktiviert ist, wird diese Benachrichtigung nicht ausgelöst. Weitere Informationen finden Sie auf der Seite Zu FedCM migrieren. |
isDisplayed() |
Ist diese Benachrichtigung für einen Displaymoment und wird die Benutzeroberfläche angezeigt? Hinweis : Wenn FedCM aktiviert ist, wird diese Benachrichtigung nicht ausgelöst. Weitere Informationen finden Sie auf der Seite Zu FedCM migrieren. |
isNotDisplayed() |
Bezieht sich diese Benachrichtigung auf einen Displaymoment und die Benutzeroberfläche wird nicht angezeigt? Hinweis : Wenn FedCM aktiviert ist, wird diese Benachrichtigung nicht ausgelöst. Weitere Informationen finden Sie auf der Seite Zu FedCM migrieren. |
getNotDisplayedReason() |
Der detaillierte Grund, warum die Benutzeroberfläche nicht angezeigt wird. Folgende Werte sind möglich:
|
isSkippedMoment() |
Bezieht sich diese Benachrichtigung auf einen übersprungenen Moment? |
getSkippedReason() |
Der detaillierte Grund für das Überspringen des Moments. Folgende Werte sind möglich:
|
isDismissedMoment() |
Bezieht sich diese Benachrichtigung auf einen geschlossenen Moment? |
getDismissedReason() |
Den detaillierten Grund für die Kündigung. Folgende Werte sind möglich:
|
getMomentType() |
Gibt einen String für den Momenttyp zurück. Folgende Werte sind möglich:
|
Datentyp: CredentialResponse
Wenn die callback
-Funktion aufgerufen wird, wird ein CredentialResponse
-Objekt als Parameter übergeben. In der folgenden Tabelle sind die Felder aufgeführt, die im Antwortobjekt für Anmeldedaten enthalten sind:
Feld | |
---|---|
credential |
Dieses Feld ist das zurückgegebene ID-Token. |
select_by |
In diesem Feld wird festgelegt, wie die Anmeldedaten ausgewählt werden. |
state |
Dieses Feld wird nur definiert, wenn der Nutzer zur Anmeldung auf die Schaltfläche „Über Google anmelden“ klickt und das state -Attribut der Schaltfläche angegeben ist. |
Anmeldedaten
Dieses Feld ist das ID-Token als base64-codierter JSON Web Token-String (JWT).
Nach der Dekodierung sieht das JWT so aus:
header { "alg": "RS256", "kid": "f05415b13acb9590f70df862765c655f5a7a019e", // JWT signature "typ": "JWT" } payload { "iss": "https://accounts.google.com", // The JWT's issuer "nbf": 161803398874, "aud": "314159265-pi.apps.googleusercontent.com", // Your server's client ID "sub": "3141592653589793238", // The unique ID of the user's Google Account "hd": "gmail.com", // If present, the host domain of the user's GSuite email address "email": "elisa.g.beckett@gmail.com", // The user's email address "email_verified": true, // true, if Google has verified the email address "azp": "314159265-pi.apps.googleusercontent.com", "name": "Elisa Beckett", // If present, a URL to user's profile picture "picture": "https://lh3.googleusercontent.com/a-/e2718281828459045235360uler", "given_name": "Elisa", "family_name": "Beckett", "iat": 1596474000, // Unix timestamp of the assertion's creation time "exp": 1596477600, // Unix timestamp of the assertion's expiration time "jti": "abc161803398874def" }
Das Feld „sub
“ ist eine global eindeutige Kennung für das Google-Konto. Verwenden Sie nur das Feld sub
als Kennung für den Nutzer, da es für alle Google-Konten eindeutig ist und nie wiederverwendet wird. Verwenden Sie keine E-Mail-Adresse als Kennung, da ein Google-Konto zu verschiedenen Zeitpunkten mehrere E-Mail-Adressen haben kann.
Anhand der Felder email
, email_verified
und hd
können Sie feststellen, ob Google eine E-Mail-Adresse hostet und für sie maßgebend ist. Wenn Google berechtigt ist, wird bestätigt, dass der Nutzer der rechtmäßige Kontoinhaber ist.
Fälle, in denen Google maßgebend ist:
email
hat das Suffix@gmail.com
. Das ist ein Gmail-Konto.- Wenn
email_verified
wahr ist undhd
festgelegt ist, handelt es sich um ein Google Workspace-Konto.
Nutzer können sich für Google-Konten registrieren, ohne Gmail oder Google Workspace zu verwenden.
Wenn email
kein @gmail.com
-Suffix enthält und hd
fehlt, ist Google nicht maßgebend und es wird empfohlen, zur Bestätigung des Nutzers ein Passwort oder andere Bestätigungsmethoden zu verwenden. email_verfied
kann auch wahr sein, da Google den Nutzer ursprünglich bei der Erstellung des Google-Kontos bestätigt hat. Die Inhaberschaft des E-Mail-Kontos des Drittanbieters hat sich jedoch möglicherweise geändert.
Im Feld exp
wird die Ablaufzeit angezeigt, zu der du das Token auf deiner Serverseite bestätigen musst. Für das ID-Token, das über „Über Google anmelden“ abgerufen wird, beträgt sie eine Stunde. Sie müssen das Token vor Ablauf bestätigen. Verwende exp
nicht für die Sitzungsverwaltung. Ein abgelaufenes ID-Token bedeutet nicht, dass der Nutzer abgemeldet ist. Ihre App ist für die Sitzungsverwaltung Ihrer Nutzer verantwortlich.
select_by
In der folgenden Tabelle sind die möglichen Werte für das Feld select_by
aufgeführt. Der Schaltflächentyp, die Sitzung und der Einwilligungsstatus werden verwendet, um den Wert festzulegen.
Der Nutzer hat entweder die Schaltfläche „One Tap“ oder „Über Google anmelden“ gedrückt oder die berührungslose automatische Anmeldung verwendet.
Es wurde eine vorhandene Sitzung gefunden oder der Nutzer hat ein Google-Konto ausgewählt und sich damit angemeldet, um eine neue Sitzung zu starten.
Bevor der Nutzer Anmeldedaten für ID-Tokens für Ihre App freigibt, muss er
- die Schaltfläche „Bestätigen“ gedrückt hat, um seine Einwilligung zur Weitergabe von Anmeldedaten zu erteilen, oder
- Sie haben zuvor Ihre Einwilligung erteilt und über „Konto auswählen“ ein Google-Konto ausgewählt.
Der Wert dieses Felds ist auf einen der folgenden Typen festgelegt:
Wert | Beschreibung |
---|---|
auto |
Automatische Anmeldung eines Nutzers mit einer bestehenden Sitzung, der zuvor seine Einwilligung zur Weitergabe von Anmeldedaten erteilt hat. Gilt nur für Browser, die FedCM nicht unterstützen. |
user |
Ein Nutzer mit einer bestehenden Sitzung, der zuvor seine Einwilligung erteilt hatte, hat auf die Schaltfläche „Mit One Tap fortfahren“ geklickt, um Anmeldedaten zu teilen. Gilt nur für Browser, die FedCM nicht unterstützen. |
fedcm |
Ein Nutzer hat auf die Schaltfläche „Mit One Tap fortfahren“ geklickt, um Anmeldedaten mit FedCM zu teilen. Gilt nur für von FedCM unterstützte Browser. |
fedcm_auto |
Automatische Anmeldung eines Nutzers mit einer bestehenden Sitzung, der zuvor seine Einwilligung zur Weitergabe von Anmeldedaten über FedCM One Tap erteilt hat. Gilt nur für von FedCM unterstützte Browser. |
user_1tap |
Ein Nutzer mit einer bestehenden Sitzung hat auf die Schaltfläche „Mit One Tap fortfahren“ geklickt, um seine Einwilligung zu erteilen und Anmeldedaten zu teilen. Gilt nur für Chrome-Version 75 und höher. |
user_2tap |
Ein Nutzer ohne aktive Sitzung hat auf die Schaltfläche „Mit One Tap fortfahren“ gedrückt, um ein Konto auszuwählen, und dann in einem Pop-up-Fenster auf die Schaltfläche „Bestätigen“, um seine Einwilligung zu erteilen und Anmeldedaten zu teilen. Gilt für nicht auf Chromium basierende Browser. |
itp |
Ein Nutzer mit einer bestehenden Sitzung, der zuvor seine Einwilligung erteilt hat, hat in einem ITP auf „Mit nur einmal tippen“ geklickt. |
itp_confirm |
Ein Nutzer mit einer bestehenden Sitzung hat in ITP-Browsern auf „One Tap“ und dann auf die Schaltfläche „Bestätigen“ gedrückt, um seine Einwilligung zu erteilen und Anmeldedaten freizugeben. |
itp_add_session |
Ein Nutzer ohne aktive Sitzung, der zuvor seine Einwilligung erteilt hat, hat in einem ITP auf „One Tap“ gedrückt, um ein Google-Konto auszuwählen und Anmeldedaten freizugeben. |
itp_confirm_add_session |
Ein Nutzer ohne aktive Sitzung hat zuerst die One-Tap-Funktion in ITP-Browsern verwendet, um ein Google-Konto auszuwählen, und dann die Schaltfläche „Bestätigen“ gedrückt, um seine Einwilligung zu erteilen und Anmeldedaten zu teilen. |
btn |
Ein Nutzer mit einer bestehenden Sitzung, der zuvor seine Einwilligung erteilt hat, hat auf die Schaltfläche „Über Google anmelden“ geklickt und unter „Konto auswählen“ ein Google-Konto ausgewählt, um Anmeldedaten zu teilen. |
btn_confirm |
Ein Nutzer mit einer bestehenden Sitzung hat auf die Schaltfläche „Über Google anmelden“ und dann auf die Schaltfläche „Bestätigen“ geklickt, um seine Einwilligung zu erteilen und Anmeldedaten freizugeben. |
btn_add_session |
Ein Nutzer ohne aktive Sitzung, der zuvor seine Einwilligung erteilt hat, hat auf die Schaltfläche „Über Google anmelden“ geklickt, um ein Google-Konto auszuwählen und Anmeldedaten zu teilen. |
btn_confirm_add_session |
Ein Nutzer ohne aktive Sitzung hat zuerst auf die Schaltfläche „Über Google anmelden“ geklickt, um ein Google-Konto auszuwählen, und dann auf die Schaltfläche „Bestätigen“, um seine Einwilligung zu erteilen und Anmeldedaten zu teilen. |
Bundesstaat
Dieses Feld wird nur definiert, wenn der Nutzer zur Anmeldung auf die Schaltfläche „Über Google anmelden“ klickt und das state
-Attribut der angeklickten Schaltfläche angegeben ist. Der Wert dieses Felds entspricht dem Wert, den Sie im state
-Attribut der Schaltfläche angegeben haben.
Da auf einer Seite mehrere „Über Google anmelden“-Schaltflächen gerendert werden können, können Sie jeder Schaltfläche einen eindeutigen String zuweisen. Anhand dieses Felds state
können Sie also ermitteln, auf welche Schaltfläche der Nutzer geklickt hat, um sich anzumelden.
Methode: google.accounts.id.renderButton
Mit der Methode google.accounts.id.renderButton
wird auf Ihren Webseiten die Schaltfläche „Über Google anmelden“ gerendert.
Hier ein Codebeispiel für die Methode:
google.accounts.id.renderButton(
/** @type{!HTMLElement} */ parent,
/** @type{!GsiButtonConfiguration} */ options
)
Datentyp: GsiButtonConfiguration
In der folgenden Tabelle sind die Felder und Beschreibungen des Datentyps GsiButtonConfiguration
aufgeführt:
Attribut | |
---|---|
type |
Der Schaltflächentyp: Symbol oder Standardschaltfläche. |
theme |
Das Design der Schaltfläche. Beispiel: filled_blue oder filled_black. |
size |
Die Größe der Schaltfläche. Beispiel: klein oder groß. |
text |
Der Schaltflächentext. Beispiel: „Über Google anmelden“ oder „Über Google registrieren“. |
shape |
Die Schaltflächenform. Beispiel: rechteckig oder rund. |
logo_alignment |
Ausrichtung des Google-Logos: links oder mittig |
width |
Die Breite der Schaltfläche in Pixeln. |
locale |
Wenn diese Option festgelegt ist, wird die Sprache der Schaltfläche gerendert. |
click_listener |
Wenn diese Funktion festgelegt ist, wird sie aufgerufen, wenn auf die Schaltfläche „Über Google anmelden“ geklickt wird. |
state |
Wenn festgelegt, wird dieser String mit dem ID-Token zurückgegeben. |
Attributtypen
In den folgenden Abschnitten finden Sie Details zum Typ jedes Attributs und ein Beispiel.
Typ
Der Schaltflächentyp. Der Standardwert ist standard
.
Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Ja | type: "icon" |
In der folgenden Tabelle sind die verfügbaren Schaltflächentypen und ihre Beschreibungen aufgeführt:
Typ | |
---|---|
standard |
|
icon |
Design
Das Design der Schaltfläche. Der Standardwert ist outline
. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | theme: "filled_blue" |
In der folgenden Tabelle sind die verfügbaren Themen und ihre Beschreibungen aufgeführt:
Design | |
---|---|
outline |
|
filled_blue |
|
filled_black |
Größe
Die Größe der Schaltfläche. Der Standardwert ist large
. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | size: "small" |
In der folgenden Tabelle sind die verfügbaren Schaltflächengrößen und ihre Beschreibungen aufgeführt:
Größe | |
---|---|
large |
|
medium |
|
small |
Text
Der Schaltflächentext. Der Standardwert ist signin_with
. Es gibt keine visuellen Unterschiede beim Text von Symbolschaltflächen mit unterschiedlichen text
-Attributen.
Die einzige Ausnahme ist, wenn der Text für die Barrierefreiheit des Bildschirms vorgelesen wird.
Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | text: "signup_with" |
In der folgenden Tabelle sind alle verfügbaren Schaltflächentexte und ihre Beschreibungen aufgeführt:
Text | |
---|---|
signin_with |
|
signup_with |
|
continue_with |
|
signin |
shape
Die Schaltflächenform. Der Standardwert ist rectangular
. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | shape: "rectangular" |
In der folgenden Tabelle sind die verfügbaren Schaltflächenformen und ihre Beschreibungen aufgeführt:
Form | |
---|---|
rectangular |
|
pill |
|
circle |
|
square |
logo_alignment
Die Ausrichtung des Google-Logos. Der Standardwert ist left
. Dieses Attribut gilt nur für den standard
-Schaltflächentyp. Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | logo_alignment: "center" |
In der folgenden Tabelle sind die verfügbaren Ausrichtungen und ihre Beschreibungen aufgeführt:
logo_alignment | |
---|---|
left |
|
center |
Breite
Die minimale Breite der Schaltfläche in Pixeln. Die maximale Breite beträgt 400 Pixel.
Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | width: "400" |
locale
Optional. Der Schaltflächentext wird in der angegebenen Sprache angezeigt. Andernfalls wird der Standardtext aus dem Google-Konto oder den Browsereinstellungen des Nutzers verwendet. Fügen Sie beim Laden der Bibliothek den Parameter hl
und den Sprachcode zur src-Anweisung hinzu, z. B.: gsi/client?hl=<iso-639-code>
.
Wenn sie nicht festgelegt ist, wird die Standard-Sprachregion des Browsers oder die Einstellung des Google-Sitzungsnutzers verwendet. Daher sehen verschiedene Nutzer möglicherweise unterschiedliche Versionen von lokalisierten Schaltflächen, möglicherweise auch in unterschiedlichen Größen.
Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | locale: "zh_CN" |
click_listener
Mit dem Attribut click_listener
können Sie eine JavaScript-Funktion definieren, die aufgerufen wird, wenn auf die Schaltfläche „Über Google anmelden“ geklickt wird.
google.accounts.id.renderButton(document.getElementById("signinDiv"), { theme: 'outline', size: 'large', click_listener: onClickHandler }); function onClickHandler(){ console.log("Sign in with Google button clicked...") }
In diesem Beispiel wird die Meldung Über Google anmelden-Schaltfläche angeklickt… in der Konsole protokolliert, wenn auf die Schaltfläche „Über Google anmelden“ geklickt wird.
Bundesstaat
Optional: Da auf derselben Seite mehrere „Über Google anmelden“-Schaltflächen gerendert werden können, kannst du jeder Schaltfläche einen eindeutigen String zuweisen. Derselbe String wird zusammen mit dem ID-Token zurückgegeben, damit Sie erkennen können, auf welche Schaltfläche der Nutzer geklickt hat, um sich anzumelden.
Weitere Informationen finden Sie in der folgenden Tabelle:
Typ | Erforderlich | Beispiel |
---|---|---|
String | Optional | data-state: "button 1" |
Datentyp: Anmeldedaten
Wenn Ihre native_callback
-Funktion aufgerufen wird, wird ein Credential
-Objekt als Parameter übergeben. In der folgenden Tabelle sind die Felder des Objekts aufgeführt:
Feld | |
---|---|
id |
Identifiziert den Nutzer. |
password |
Das Passwort |
Methode: google.accounts.id.disableAutoSelect
Wenn sich der Nutzer von Ihrer Website abmeldet, müssen Sie die Methode google.accounts.id.disableAutoSelect
aufrufen, um den Status in Cookies zu erfassen. So wird ein UX-Deadloop verhindert. Hier ein Code-Snippet der Methode:
google.accounts.id.disableAutoSelect()
Im folgenden Codebeispiel wird die Methode google.accounts.id.disableAutoSelect
mit einer onSignout()
-Funktion implementiert:
<script>
function onSignout() {
google.accounts.id.disableAutoSelect();
}
</script>
Methode: google.accounts.id.storeCredential
Diese Methode ist ein Wrapper für die Methode store()
der nativen Anmeldedaten-Manager-API des Browsers. Daher kann es nur zum Speichern von Passwort-Anmeldedaten verwendet werden. Hier ein Codebeispiel für die Methode:
google.accounts.id.storeCredential(Credential, callback)
Im folgenden Codebeispiel wird die Methode google.accounts.id.storeCredential
mit einer onSignIn()
-Funktion implementiert:
<script>
function onSignIn() {
let cred = {id: '...', password: '...'};
google.accounts.id.storeCredential(cred);
}
</script>
Methode: google.accounts.id.cancel
Sie können den One Tap-Vorgang abbrechen, indem Sie die Aufforderung aus dem DOM der vertrauenden Partei entfernen. Der Abbruch wird ignoriert, wenn bereits Anmeldedaten ausgewählt sind. Hier ein Codebeispiel für die Methode:
google.accounts.id.cancel()
Im folgenden Codebeispiel wird die Methode google.accounts.id.cancel()
mit einer onNextButtonClicked()
-Funktion implementiert:
<script>
function onNextButtonClicked() {
google.accounts.id.cancel();
showPasswordPage();
}
</script>
Rückruf beim Laden der Bibliothek: onGoogleLibraryLoad
Du kannst einen onGoogleLibraryLoad
-Callback registrieren. Die Benachrichtigung wird angezeigt, nachdem die JavaScript-Bibliothek „Über Google anmelden“ geladen wurde:
window.onGoogleLibraryLoad = () => {
...
};
Dieser Rückruf ist nur eine Verknüpfung für den window.onload
-Rückruf. Es gibt keine Unterschiede beim Verhalten.
Im folgenden Codebeispiel wird ein onGoogleLibraryLoad
-Callback implementiert:
<script>
window.onGoogleLibraryLoad = () => {
google.accounts.id.initialize({
...
});
google.accounts.id.prompt();
};
</script>
Methode: google.accounts.id.revoke
Mit der Methode google.accounts.id.revoke
wird die OAuth-Berechtigung widerrufen, die zum Freigeben des ID-Tokens für den angegebenen Nutzer verwendet wurde. Hier ein Code-Snippet der Methode:
javascript
google.accounts.id.revoke(login_hint, callback)
Parameter | Typ | Beschreibung |
---|---|---|
login_hint |
String | Die E-Mail-Adresse oder eindeutige ID des Google-Kontos des Nutzers. Die ID ist die sub -Eigenschaft der Anmeldedaten-Nutzlast. |
callback |
Funktion | Optionaler RevocationResponse-Handler. |
Das folgende Codebeispiel zeigt, wie die Methode revoke
mit einer ID verwendet wird.
google.accounts.id.revoke('1618033988749895', done => { console.log(done.error); });
Datentyp: Widerrufsantwort
Wenn die callback
-Funktion aufgerufen wird, wird ein RevocationResponse
-Objekt als Parameter übergeben. In der folgenden Tabelle sind die Felder aufgeführt, die im Objekt „Widerrufsantwort“ enthalten sind:
Feld | |
---|---|
successful |
Dieses Feld ist der Rückgabewert des Methodenaufrufs. |
error |
Dieses Feld enthält optional eine detaillierte Fehlerantwort. |
erfolgreich
Dieses Feld ist ein boolescher Wert, der auf „true“ gesetzt wird, wenn der Widerrufsmethodaufruf erfolgreich war, oder auf „false“, wenn er fehlgeschlagen ist.
Fehler
Dieses Feld ist ein Stringwert und enthält eine detaillierte Fehlermeldung, wenn der Widerruf fehlgeschlagen ist. Bei Erfolg ist der Wert nicht definiert.