क्लाइंट सीक्रेट

.NET के लिए Google API क्लाइंट लाइब्रेरी, client_id, client_secret, और दूसरे OAuth 2.0 पैरामीटर को स्टोर करने के लिए, client_secrets.json फ़ाइलों का इस्तेमाल करती है.

client_secrets.json JSON फ़ॉर्मैट में बनाई गई फ़ाइल होती है. इसमें क्लाइंट आईडी, क्लाइंट सीक्रेट, और OAuth 2.0 के अन्य पैरामीटर शामिल होते हैं. यहां वेब ऐप्लिकेशन के लिए, client_secrets.json फ़ाइल का उदाहरण दिया गया है:

{
  "web": {
    "client_id": "asdfjasdljfasdkjf",
    "client_secret": "1912308409123890",
    "redirect_uris": ["https://www.example.com/oauth2callback"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/token"
  }
}

यहां इंस्टॉल किए गए ऐप्लिकेशन के लिए, client_secrets.json फ़ाइल का उदाहरण दिया गया है:

{
  "installed": {
    "client_id": "837647042410-75ifg...usercontent.com",
    "client_secret":"asdlkfjaskd",
    "redirect_uris": ["http://localhost"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/token"
  }
}

फ़ॉर्मैट, दो तरह के क्लाइंट आईडी में से एक की जानकारी देता है:

  • web: वेब ऐप्लिकेशन.
  • installed: इंस्टॉल किया गया ऐप्लिकेशन.

web और installed सब-ऑब्जेक्ट में ये ज़रूरी सदस्य हैं:

  • client_id (स्ट्रिंग): क्लाइंट आईडी.
  • client_secret (स्ट्रिंग): क्लाइंट सीक्रेट.

इस फ़ाइल के दूसरे सभी सदस्य ज़रूरी नहीं हैं और .NET क्लाइंट लाइब्रेरी उनका इस्तेमाल नहीं करती.

वजह

आम तौर पर, OAuth 2.0 एंडपॉइंट बनाने वाली कंपनियों से उम्मीद की जाती है कि उनकी सेवाओं का इस्तेमाल करके, रजिस्ट्रेशन पेज से क्लाइंट आईडी और क्लाइंट सीक्रेट को कॉपी करके, काम करने वाले कोड में चिपकाया जाता है. इस तरीके से गड़बड़ी की संभावना होती है. साथ ही, यह OAuth 2.0 के काम करने के लिए ज़रूरी जानकारी की पूरी जानकारी नहीं देता है. (OAuth 2.0 के लिए सभी एंडपॉइंट की जानकारी होना और एक रीडायरेक्ट यूआरआई को कॉन्फ़िगर करना ज़रूरी है.) अगर सेवा देने वाली कंपनियां, डाउनलोड की जा सकने वाली client_secrets.json फ़ाइलें उपलब्ध कराती हैं और क्लाइंट लाइब्रेरी इन फ़ाइलों का इस्तेमाल करने के लिए तैयार होती हैं, तो OAuth 2.0 को लागू करना आसान होगा. साथ ही, गड़बड़ी की संभावना कम होगी.