如要啟用無縫使用者工作階段 (例如存取會員福利、個人化優惠) 和已驗證的結帳程序,請使用 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 權杖端點 (check、create、get 意圖) 上,合併意圖檢查和權杖交換作業。
建議使用 Google 簡化連結,提供流暢的使用者體驗。使用者可透過這項功能連結帳戶,或使用 Google 個人資料建立新帳戶,不必離開 Google 介面。由於整個流程都在 Google 的使用者介面中進行,因此不需要連結前端。這項功能可減少開發負擔、避免瀏覽器重新導向,並提高轉換率。
授權伺服器中繼資料 (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"
}