身分連結 - OAuth 2.0

如要啟用無縫使用者工作階段 (例如存取會員福利、個人化優惠) 和已驗證的結帳程序,請使用 OAuth 2.0 實作身分連結功能。如未實作身分連結,就必須支援訪客結帳。

如有隱私權法規和同意聲明做法的任何疑問,請諮詢法務團隊。

核心需求

  • 通訊協定:實作 OAuth 2.0 授權碼流程 (RFC 6749 2.3.1)。
  • 用戶端驗證:必須在權杖端點支援 HTTP 基本驗證 (client_secret_basic)。
  • 範圍:您必須支援本節定義的標準 UCP 範圍。
  • 探索:您必須在 /.well-known/oauth-authorization-server (RFC 8414) 代管中繼資料檔案,平台才能探索您的端點。

範圍

您必須實作下列範圍,授予所有結帳生命週期作業 (取得、建立、更新、刪除、取消、完成) 的權限。

  • 範圍名稱: ucp:scopes:checkout_session

使用者體驗:您應以單一同意畫面 (例如「允許 Google 管理結帳工作階段」),而非精細的技術切換開關。

Google 簡化連結

Google 簡化連結是標準 OAuth 2.0 的選用功能。這項功能會運用 JWT 聲明,在 OAuth 2.0 權杖端點 (checkcreateget 意圖) 上,合併意圖檢查和權杖交換作業。

建議使用 Google 簡化連結,提供流暢的使用者體驗。使用者可透過這項功能連結帳戶,或使用 Google 個人資料建立新帳戶,不必離開 Google 介面。由於整個流程都在 Google 的使用者介面中進行,因此不需要連結前端。這項功能可減少開發負擔、避免瀏覽器重新導向,並提高轉換率。

  • 規格:導入作業必須遵循簡化連結的規定
  • 標準:雖然概念來自 RFC 7523,但為了提升安全性,兩者有所不同。

授權伺服器中繼資料 (JSON 範例)

您必須在 https://[your-domain]/.well-known/oauth-authorization-server發布這個 JSON 物件

範例:

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