Liên kết danh tính – OAuth 2.0

Để bật các phiên hoạt động liền mạch của người dùng (ví dụ: truy cập vào các lợi ích của chương trình khách hàng thân thiết, ưu đãi được cá nhân hoá) và quy trình thanh toán đã xác thực, bạn phải triển khai tính năng Liên kết danh tính bằng OAuth 2.0. Nếu không triển khai tính năng liên kết danh tính, bạn phải hỗ trợ quy trình thanh toán của khách.

Tham khảo ý kiến của nhóm pháp lý về mọi thắc mắc liên quan đến các quy định về quyền riêng tư và các phương pháp thực hiện việc đồng ý.

Yêu cầu cốt lõi

  • Giao thức: Triển khai quy trình Mã uỷ quyền OAuth 2.0 (RFC 6749 2.3.1).
  • Xác thực máy khách: Phải hỗ trợ Phương thức xác thực cơ bản HTTP (client_secret_basic) tại Điểm cuối mã thông báo.
  • Phạm vi: Bạn phải hỗ trợ các phạm vi UCP tiêu chuẩn được xác định trong phần này.
  • Khám phá: Bạn phải lưu trữ một tệp siêu dữ liệu tại /.well-known/oauth-authorization-server (RFC 8414) để cho phép Nền tảng khám phá các điểm cuối của bạn.

Phạm vi

Bạn phải triển khai phạm vi sau đây để cấp quyền cho tất cả các thao tác trong vòng đời của quy trình thanh toán (Nhận, Tạo, Cập nhật, Xoá, Huỷ, Hoàn tất).

  • Tên phạm vi: ucp:scopes:checkout_session

Trải nghiệm người dùng: Bạn nên trình bày các phạm vi được yêu cầu dưới dạng một màn hình đồng ý duy nhất, được đóng gói (ví dụ: "Cho phép Google quản lý các phiên thanh toán của bạn") thay vì các nút bật/tắt kỹ thuật chi tiết.

Liên kết tinh giản của Google

Tính năng Liên kết tinh giản của Google là một lựa chọn bổ sung cho OAuth 2.0 tiêu chuẩn. Thao tác này tận dụng các câu khẳng định JWT để kết hợp các bước kiểm tra ý định và trao đổi mã thông báo trên điểm cuối mã thông báo OAuth 2.0 (các ý định check, create, get).

Bạn nên sử dụng tính năng Liên kết tinh giản của Google để mang lại trải nghiệm liền mạch cho người dùng. Tính năng này cho phép người dùng liên kết tài khoản hoặc tạo tài khoản mới bằng hồ sơ Google mà không cần rời khỏi giao diện Google. Vì quy trình này diễn ra hoàn toàn trong giao diện người dùng của Google, nên bạn không cần liên kết giao diện người dùng. Điều này giúp giảm chi phí phát triển, loại bỏ các lệnh chuyển hướng của trình duyệt và có thể tăng tỷ lệ chuyển đổi.

Siêu dữ liệu của máy chủ uỷ quyền (Ví dụ về JSON)

Bạn phải xuất bản đối tượng JSON này tại https://[your-domain]/.well-known/oauth-authorization-server

Ví dụ:

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