मुख्य सामग्री पर जाएँ
s.id Logo
डेवलपर प्लेटफ़ॉर्म

प्रमाणीकरण

s.id API के साथ प्रमाणीकरण के दो तरीके, server-to-server के लिए API keys, उपयोगकर्ताओं की ओर से कार्य करने के लिए OAuth 2.0।

विश्वास की सीमा के अनुसार चुनें

आपको कौन-सी विधि उपयोग करनी चाहिए?

API Keys

आपके अपने बैकएंड, निर्धारित कार्यों और निजी ऑटोमेशन के लिए सबसे उपयुक्त, जहाँ क्रेडेंशियल कभी ब्राउज़र या मोबाइल क्लाइंट तक नहीं पहुँचता।

OAuth 2.0

तृतीय-पक्ष ऐप के लिए सबसे उपयुक्त, जिन्हें उपयोगकर्ता की सहमति और s.id अकाउंट तक विस्तृत, रद्द की जा सकने वाली पहुँच चाहिए।

API Keys

सर्वर-टू-सर्वर एक्सेस

API keys server-to-server integrations को authenticate करती हैं। Dashboard → Developer → API Keys में एक बनाएं, scopes चुनें और इसे Bearer token के रूप में पास करें।

Authorization header
Authorization: Bearer sk_live_...
उदाहरण request
curl https://api.s.id/v2/links \
  -H "Authorization: Bearer sk_live_..."

सुरक्षा जाँच सूची

  • Keys sk_live_ से शुरू होती हैं और creation के समय केवल एक बार दिखाई जाती हैं।
  • केवल वही minimum scopes मांगें जो आपके integration को चाहिए।
  • compromise होने पर keys तुरंत revoke करें, नई बनाएं।
  • Client-side (browsers, mobile apps) पर API keys कभी expose न करें।
links:read
links:write
links:archive
links:analytics
qr:read
qr:write
user:read
microsites:read
microsites:write
microsites:delete

OAuth 2.0

Authorization flow

सहमति के लिए उपयोगकर्ता को s.id पर रीडायरेक्ट करें, callback state सत्यापित करें, फिर एक बार उपयोग होने वाले कोड को access token और घूमते refresh token से बदलें।

उपयोगकर्ता को रीडायरेक्ट करने से पहले

  • अप्रत्याशित state मान बनाएँ, उसे उपयोगकर्ता सेशन में रखें और CSRF रोकने के लिए callback पर सटीक मिलान सत्यापित करें।
  • ऐसा redirect_uri उपयोग करें जो आपके OAuth ऐप के लिए पंजीकृत मान से पूरी तरह मेल खाता हो।

सार्वजनिक क्लाइंट

PKCE आवश्यक, client secret नहीं

SPA, मोबाइल ऐप और CLI के लिए। रैंडम code_verifier बनाएँ, authorize पर उसका S256 challenge भेजें, फिर token exchange के दौरान मूल verifier भेजें।

उपयोगकर्ता को redirect करें
https://api.s.id/oauth/authorize?
  response_type=code&
  client_id=YOUR_CLIENT_ID&
  redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback&
  scope=links%3Aread%20links%3Awrite&
  state=RANDOM_CSRF_VALUE&
  code_challenge=BASE64URL_SHA256_VERIFIER&
  code_challenge_method=S256
Code को token से exchange करें
curl -X POST https://api.s.id/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "code=AUTHORIZATION_CODE" \
  -d "redirect_uri=https://app.example.com/callback" \
  -d "code_verifier=ORIGINAL_RANDOM_VERIFIER"

गोपनीय क्लाइंट

विश्वसनीय बैकएंड पर client secret

सर्वर-रेंडर या बैकएंड ऐप के लिए जो client_secret को गोपनीय रख सकते हैं। PKCE वैकल्पिक रहता है और अतिरिक्त सुरक्षा के लिए सुझाया जाता है।

उपयोगकर्ता को redirect करें
https://api.s.id/oauth/authorize?
  response_type=code&
  client_id=YOUR_CLIENT_ID&
  redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback&
  scope=links%3Aread%20links%3Awrite&
  state=RANDOM_CSRF_VALUE
Code को token से exchange करें
curl -X POST https://api.s.id/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET" \
  -d "code=AUTHORIZATION_CODE" \
  -d "redirect_uri=https://app.example.com/callback"

एक्सेस टोकन

1 घंटे बाद समाप्त होता है

Refresh token

30 दिनों बाद समाप्त होता है

ऑथराइज़ेशन कोड

एक बार उपयोग; 10 मिनट बाद समाप्त

Refresh token घुमाएँ
curl -X POST https://api.s.id/oauth/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=refresh_token" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "refresh_token=CURRENT_REFRESH_TOKEN"
टोकन रद्द करें
curl -X POST https://api.s.id/oauth/revoke \
  -H "Content-Type: application/json" \
  -d '{"token":"TOKEN_TO_REVOKE"}'

डिस्कवरी और टोकन ऑपरेशन

ऑथराइज़ेशन सर्वर मेटाडेटा

https://api.s.id/.well-known/oauth-authorization-server

RFC 8414 मेटाडेटा से endpoint URL, समर्थित स्कोप और PKCE विधियाँ खोजें।

टोकन इंट्रोस्पेक्शन

POST https://api.s.id/oauth/introspect

गोपनीय संसाधन सर्वर जाँच सकते हैं कि टोकन सक्रिय है या नहीं और उसके स्कोप देख सकते हैं।

टोकन रिवोकेशन

POST https://api.s.id/oauth/revoke

जब उपयोगकर्ता आपका इंटीग्रेशन डिस्कनेक्ट करे तब access token या refresh token रद्द करें।

अधिकृत उपयोगकर्ता

GET https://api.s.id/oauth/userinfo

user:read वाले OAuth एक्सेस टोकन से जुड़ी प्रोफ़ाइल पढ़ें।

बनाना शुरू करने के लिए तैयार हैं?

मिनटों में API key बनाएं। मुफ़्त tier शामिल, कोई क्रेडिट कार्ड आवश्यक नहीं।

अपनी API key पाएं