पहचान लिंक करना - OAuth 2.0

उपयोगकर्ता के सेशन को बेहतर बनाने के लिए, आपको OAuth 2.0 का इस्तेमाल करके, पहचान लिंक करने की सुविधा लागू करनी होगी. जैसे, लॉयल्टी प्रोग्राम के फ़ायदे ऐक्सेस करना, उपयोगकर्ताओं की दिलचस्पी के हिसाब से ऑफ़र पाना, और पुष्टि किए गए चेकआउट. अगर आपने पहचान लिंक करने की सुविधा लागू नहीं की है, तो आपको मेहमान के तौर पर चेकआउट करने की सुविधा देनी होगी.

निजता से जुड़े कानूनों और सहमति लेने के तरीकों के बारे में किसी भी सवाल के लिए, अपनी लीगल टीम से सलाह लें.

ज़रूरी शर्तें

  • प्रोटोकॉल: OAuth 2.0 ऑथराइज़ेशन कोड फ़्लो (RFC 6749 2.3.1) लागू करें.
  • क्लाइंट की पुष्टि करना: टोकन एंडपॉइंट पर, एचटीटीपी बेसिक ऑथेंटिकेशन (client_secret_basic) का इस्तेमाल किया जाना चाहिए.
  • स्कोप: आपको इस सेक्शन में बताए गए स्टैंडर्ड यूसीपी स्कोप के साथ काम करना होगा.
  • खोज: आपको /.well-known/oauth-authorization-server (RFC 8414) पर एक मेटाडेटा फ़ाइल होस्ट करनी होगी, ताकि प्लैटफ़ॉर्म आपके एंडपॉइंट खोज सके.

स्कोप

आपको यह स्कोप लागू करना होगा. इससे चेकआउट के लाइफ़साइकल से जुड़ी सभी कार्रवाइयों (पाना, बनाना, अपडेट करना, मिटाना, रद्द करना, पूरा करना) के लिए अनुमति मिलती है.

  • स्कोप का नाम: ucp:scopes:checkout_session

उपयोगकर्ता अनुभव: आपको अनुरोध किए गए स्कोप को एक ही बंडल किए गए सहमति वाले स्क्रीन के तौर पर दिखाना चाहिए. उदाहरण के लिए, "Google को अपने चेकआउट सेशन मैनेज करने की अनुमति दें" को चुनें.

Google Streamlined Linking

Google Streamlined Linking, स्टैंडर्ड OAuth 2.0 में जोड़ा गया एक वैकल्पिक फ़्लो है. यह JWT असर्शन का इस्तेमाल करता है, ताकि OAuth 2.0 टोकन एंडपॉइंट (check, create, get इंटेंट) पर इंटेंट की जांच और टोकन एक्सचेंज को एक साथ किया जा सके.

हमारा सुझाव है कि आप Google Streamlined Linking का इस्तेमाल करें, ताकि उपयोगकर्ताओं को बेहतर अनुभव मिल सके. इससे उपयोगकर्ताओं को Google इंटरफ़ेस से बाहर निकले बिना, Google प्रोफ़ाइल का इस्तेमाल करके खाते लिंक करने या नए खाते बनाने की अनुमति मिलती है. यह प्रोसेस पूरी तरह से Google के यूज़र इंटरफ़ेस (यूआई) में होती है. इसलिए, लिंक करने के लिए किसी फ़्रंटएंड की ज़रूरत नहीं होती. इससे डेवलपमेंट का खर्च कम होता है, ब्राउज़र रीडायरेक्ट नहीं होते, और कन्वर्ज़न रेट बढ़ सकते हैं.

अनुमति देने वाले सर्वर का मेटाडेटा (JSON का उदाहरण)

आपको इस JSON ऑब्जेक्ट को https://[your-domain]/.well-known/oauth-authorization-server पर पब्लिश करना होगा

उदाहरण:

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