Identitätsverknüpfung – OAuth 2.0

Um nahtlose Nutzersitzungen (z.B. Zugriff auf Treuepunkte, personalisierte Angebote) und authentifizierte Kassen zu ermöglichen, müssen Sie die Funktion zur Identitätsverknüpfung mit OAuth 2.0 implementieren. Wenn Sie die Identitätsverknüpfung nicht implementieren, müssen Sie die Gastabrechnung unterstützen.

Wenden Sie sich bei Fragen zu Datenschutzbestimmungen und Einwilligungspraktiken an Ihre Rechtsabteilung.

Wichtige Anforderungen

  • Protokoll:Implementieren Sie den OAuth 2.0-Vorgang mit Autorisierungscode (RFC 6749 2.3.1).
  • Client-Authentifizierung:Muss die HTTP-Basisauthentifizierung (client_secret_basic) am Token-Endpunkt unterstützen.
  • Bereiche:Sie müssen die in diesem Abschnitt definierten Standard-UCP-Bereiche unterstützen.
  • Discovery:Sie müssen eine Metadatendatei unter /.well-known/oauth-authorization-server (RFC 8414) hosten, damit die Plattform Ihre Endpunkte erkennen kann.

Bereiche

Sie müssen den folgenden Bereich implementieren, der die Berechtigung für alle Vorgänge im Checkout-Lebenszyklus (Abrufen, Erstellen, Aktualisieren, Löschen, Abbrechen, Abschließen) gewährt.

  • Name des Bereichs: ucp:scopes:checkout_session

Nutzerfreundlichkeit:Sie sollten angeforderte Bereiche auf einem einzigen, gebündelten Einwilligungsbildschirm präsentieren (z.B. „Allow Google to manage your checkout sessions“ (Google erlauben, Ihre Check-out-Sitzungen zu verwalten) anstelle von detaillierten technischen Ein/Aus-Schaltern.

Optimierte Google-Verknüpfung

Google Streamlined Linking ist eine optionale Ergänzung zu OAuth 2.0. Dabei werden JWT-Assertions verwendet, um Intentionen zu prüfen und Tokens am OAuth 2.0-Tokenendpunkt (Intentionen check, create, get) auszutauschen.

Für eine nahtlose Nutzererfahrung wird die vereinfachte Verknüpfung von Google empfohlen. So können Nutzer Konten verknüpfen oder neue Konten mit ihrem Google-Profil erstellen, ohne die Google-Oberfläche zu verlassen. Da der Ablauf vollständig in der Benutzeroberfläche von Google stattfindet, ist kein Frontend für die Verknüpfung erforderlich. Das reduziert den Entwicklungsaufwand, macht Browserweiterleitungen überflüssig und kann die Conversion-Raten steigern.

Autorisierungsserver-Metadaten (JSON-Beispiel)

Sie müssen dieses JSON-Objekt unter https://[your-domain]/.well-known/oauth-authorization-server veröffentlichen.

Beispiel:

{
  "issuer": "https://merchant.example.com",
  "authorization_endpoint": "https://merchant.example.com/oauth2/authorize",
  "token_endpoint": "https://merchant.example.com/oauth2/token",
  "revocation_endpoint": "https://merchant.example.com/oauth2/revoke",
  "scopes_supported": [
    "ucp:scopes:checkout_session"
  ],
  "response_types_supported": [
    "code"
  ],
  "grant_types_supported": [
    "authorization_code",
    "refresh_token"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_basic"
  ],
  "service_documentation": "https://merchant.example.com/docs/oauth2"
}