Połączenie tożsamości – OAuth 2.0

Aby umożliwić użytkownikom bezproblemowe sesje (np. dostęp do korzyści z programu lojalnościowego, spersonalizowanych ofert) i uwierzytelnione płatności, musisz wdrożyć funkcję łączenia tożsamości za pomocą protokołu OAuth 2.0. Jeśli nie wdrożysz łączenia tożsamości, musisz obsługiwać płatność bez logowania.

Jeśli masz pytania dotyczące przepisów o ochronie prywatności i praktyk związanych z uzyskiwaniem zgody, skonsultuj się ze swoim zespołem prawnym.

Wymagania podstawowe

  • Protokół: wdróż proces kodu autoryzacji OAuth 2.0 (RFC 6749 2.3.1).
  • Uwierzytelnianie klienta: musi obsługiwać podstawowe uwierzytelnianie HTTP (client_secret_basic) w punkcie końcowym tokena.
  • Zakresy: musisz obsługiwać standardowe zakresy UCP zdefiniowane w tej sekcji.
  • Wykrywanie: musisz umieścić plik metadanych pod adresem/.well-known/oauth-authorization-server(RFC 8414), aby umożliwić platformie wykrywanie Twoich punktów końcowych.

Zakresy

Musisz wdrożyć ten zakres, który przyznaje uprawnienia do wszystkich operacji związanych z cyklem życia płatności (pobieranie, tworzenie, aktualizowanie, usuwanie, anulowanie, finalizowanie).

  • Nazwa zakresu: ucp:scopes:checkout_session

Wrażenia użytkownika: poproś użytkownika o zgodę na wszystkie zakresy na jednym ekranie (np. „Zezwalaj Google na zarządzanie sesjami płatności”) zamiast szczegółowych przełączników technicznych.

Uproszczone łączenie z Google

Uproszczone łączenie kont Google to opcjonalne rozszerzenie standardowego protokołu OAuth 2.0. Wykorzystuje on asercje JWT do łączenia sprawdzania intencji i wymiany tokenów w punkcie końcowym tokena OAuth 2.0 (intencje check, create, get).

Aby zapewnić użytkownikom wygodę, zalecamy korzystanie z uproszczonego linkowania Google. Umożliwia użytkownikom łączenie kont lub tworzenie nowych kont przy użyciu profilu Google bez opuszczania interfejsu Google. Ponieważ proces ten odbywa się w całości w interfejsie Google, nie jest wymagany interfejs do łączenia. Zmniejsza to nakłady na rozwój, eliminuje przekierowania w przeglądarce i może zwiększyć współczynniki konwersji.

Metadane serwera autoryzacji (przykład JSON)

Ten obiekt JSON musisz opublikować w lokalizacji https://[your-domain]/.well-known/oauth-authorization-server

Przykład:

{
  "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"
}