Kimlik Bağlama - OAuth 2.0

Sorunsuz kullanıcı oturumları (ör. bağlılık avantajlarına erişme, kişiselleştirilmiş teklifler) ve kimliği doğrulanmış ödeme işlemleri sağlamak için OAuth 2.0 kullanarak Kimlik Bağlama özelliğini uygulamanız gerekir. Kimlik bağlantısını uygulamıyorsanız misafir ödeme özelliğini desteklemeniz gerekir.

Gizlilik düzenlemeleri ve izin uygulamalarıyla ilgili sorularınız için hukuk ekibinizle görüşün.

Temel şartlar

  • Protokol: OAuth 2.0 yetkilendirme kodu akışını (RFC 6749 2.3.1) uygulayın.
  • İstemci Kimlik Doğrulaması: Jeton uç noktasında HTTP temel kimlik doğrulaması (client_secret_basic) desteklenmelidir.
  • Kapsamlar: Bu bölümde tanımlanan standart UCP kapsamlarını desteklemeniz gerekir.
  • Keşif: Platformun uç noktalarınızı keşfetmesine izin vermek için /.well-known/oauth-authorization-server (RFC 8414) adresinde bir meta veri dosyası barındırmanız gerekir.

Kapsamlar

Tüm ödeme yaşam döngüsü işlemleri (Get, Create, Update, Delete, Cancel, Complete) için izin veren aşağıdaki kapsamı uygulamanız gerekir.

  • Kapsam Adı: ucp:scopes:checkout_session

Kullanıcı deneyimi: İstenen kapsamları tek bir paketlenmiş izin ekranı olarak sunmanız gerekir (ör. "Google'ın ödeme oturumlarınızı yönetmesine izin verin" gibi daha üst düzey bir ayar kullanın.

Google'da Basitleştirilmiş Bağlantı

Google Basitleştirilmiş Bağlantı, standart OAuth 2.0'a isteğe bağlı olarak eklenebilir. Bu, OAuth 2.0 jeton uç noktasında (check, create, get amaçları) amaç kontrollerini ve jeton değişimini birleştirmek için JWT onaylarını kullanır.

Sorunsuz bir kullanıcı deneyimi için Google Basitleştirilmiş Bağlantı önerilir. Kullanıcıların Google arayüzünden ayrılmadan Google profillerini kullanarak hesap bağlamasına veya yeni hesap oluşturmasına olanak tanır. Akış tamamen Google'ın kullanıcı arayüzünde gerçekleştiğinden bağlantı oluşturma ön ucu gerekmez. Bu sayede geliştirme yükü azalır, tarayıcı yönlendirmeleri ortadan kalkar ve dönüşüm oranları artabilir.

Yetkilendirme Sunucusu Meta Verileri (JSON Örneği)

Bu JSON nesnesini şu adreste yayınlamanız gerekir: https://[your-domain]/.well-known/oauth-authorization-server

Örnek:

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