परिचय
मेरे क्रेडेंशियल कितने समय तक मान्य रहेंगे?
offline.access scope का इस्तेमाल न किया हो।
रीफ़्रेश टोकन
offline.access scope लागू किया जाता है, तो एक OAuth 2.0 रीफ़्रेश टोकन जारी किया जाएगा। इस रीफ़्रेश टोकन की मदद से आप एक access token प्राप्त कर सकते हैं। यदि यह scope पास नहीं किया जाता है, तो हम रीफ़्रेश टोकन जनरेट नहीं करेंगे।
रीफ़्रेश टोकन का उपयोग करके नया access token प्राप्त करने के लिए किए जाने वाले अनुरोध का एक उदाहरण इस प्रकार है:
ऐप सेटिंग्स
गोपनीय क्लाइंट
स्कोप
| स्कोप | विवरण |
| tweet.read | वे सभी Tweet जिन्हें आप देख सकते हैं, जिनमें सुरक्षित खातों के Tweet भी शामिल हैं। |
| tweet.write | आपकी ओर से Tweet और Retweet करें। |
| tweet.moderate.write | आपके Tweets के जवाब छिपाएँ और फिर से दिखाएँ। |
| users.email | प्रमाणीकृत उपयोगकर्ता का ईमेल। |
| users.read | कोई भी खाता जिसे आप देख सकते हैं, जिनमें सुरक्षित खाते भी शामिल हैं। |
| follows.read | वे लोग जो आपको फ़ॉलो करते हैं और वे लोग जिन्हें आप फ़ॉलो करते हैं। |
| follows.write | आपकी ओर से लोगों को फ़ॉलो और अनफ़ॉलो करें। |
| offline.access | जब तक आप ऐक्सेस रद्द नहीं करते, अपने खाते से जुड़े रहें। |
| space.read | वे सभी Spaces जिन्हें आप देख सकते हैं। |
| mute.read | वे खाते जिन्हें आपने म्यूट किया है। |
| mute.write | आपकी ओर से खातों को म्यूट और अनम्यूट करें। |
| like.read | वे Tweets जिन्हें आपने लाइक किया है और वे लाइक जिन्हें आप देख सकते हैं। |
| like.write | आपकी ओर से Tweets को लाइक और अनलाइक करें। |
| list.read | वे सूचियाँ, सूची सदस्य, और सूची फ़ॉलोअर जिन सूचियों को आपने बनाया है या जिनके आप सदस्य हैं, उनमें निजी सूचियाँ भी शामिल हैं। |
| list.write | आपकी ओर से सूचियाँ बनाएँ और प्रबंधित करें। |
| block.read | वे खाते जिन्हें आपने ब्लॉक किया है। |
| block.write | आपकी ओर से खातों को ब्लॉक और अनब्लॉक करें। |
| bookmark.read | प्रमाणीकृत उपयोगकर्ता के बुकमार्क किए गए Tweets प्राप्त करें। |
| bookmark.write | Tweets में बुकमार्क जोड़ें और हटाएँ। |
| media.write | मीडिया अपलोड करें। |
रेट लिमिट्स
ग्रांट टाइप
OAuth 2.0 फ्लो
शब्दावली
| शब्द | विवरण |
| ग्रांट टाइप | OAuth फ़्रेमवर्क अलग-अलग उपयोग स्थितियों के लिए कई grant type निर्दिष्ट करता है, साथ ही नए grant type बनाने का एक फ़्रेमवर्क भी देता है। उदाहरणों में authorization code, client credentials, device code, और refresh token शामिल हैं। |
| Confidential client | Client ऐसे अनुप्रयोग होते हैं जो authorization server के साथ सुरक्षित रूप से प्रमाणित हो सकते हैं, उदाहरण के लिए अपने पंजीकृत client secret को सुरक्षित रखकर। |
| Public client | Client पंजीकृत client secret का उपयोग नहीं कर सकते, जैसे ब्राउज़र या मोबाइल डिवाइस पर चलने वाले अनुप्रयोग। |
| Authorization code flow | इसका उपयोग confidential और public, दोनों तरह के client द्वारा authorization code के बदले access token प्राप्त करने के लिए किया जाता है। |
| PKCE | यह authorization code flow का एक extension है, जो कई तरह के हमलों को रोकता है और public client से OAuth exchange को सुरक्षित रूप से करने में सक्षम बनाता है। |
| Client ID | इसे डेवलपर कंसोल के keys and tokens सेक्शन में “Client ID” शीर्षक के अंतर्गत पाया जा सकता है। अगर यह आपको दिखाई नहीं देता, तो कृपया सीधे हमारी टीम से संपर्क करें। authorize URL जनरेट करने के लिए Client ID की आवश्यकता होगी। |
| Redirect URI | आपका callback URL। इसके लिए exact match validation होना आवश्यक है। |
| Authorization code | यह किसी अनुप्रयोग को उपयोगकर्ताओं की ओर से API को कॉल करने की अनुमति देता है। इसे auth_code कहा जाता है। App owner को उपयोगकर्ता से स्वीकृत auth_code मिलने के बाद auth_code केवल 30 सेकंड के लिए मान्य रहता है। आपको 30 सेकंड के भीतर इसे access token के बदले एक्सचेंज करना होगा, नहीं तो auth_code की अवधि समाप्त हो जाएगी। |
| Access token | Access token वे टोकन हैं जिनका उपयोग अनुप्रयोग किसी उपयोगकर्ता की ओर से API अनुरोध करने के लिए करते हैं। |
| Refresh token | यह किसी अनुप्रयोग को refresh token flow के माध्यम से, उपयोगकर्ता को फिर से प्रॉम्प्ट किए बिना, नया access token प्राप्त करने की अनुमति देता है। |
| Client Secret | अगर आपने ऐसा App type चुना है जो confidential client है, तो आपके App के keys and tokens सेक्शन में “Client ID” के अंतर्गत आपको “Client Secret” दिया जाएगा। |
पैरामीटर
| पैरामीटर | विवरण |
| response_type | आपको “code” शब्द का उपयोग करके यह निर्दिष्ट करना होगा कि यह एक code है। |
| client_id | यह डेवलपर कंसोल में “Client ID” शीर्षक के अंतर्गत मिल सकता है। |
| redirect_uri | आपका callback URL। यह मान आपके ऐप की settings में परिभाषित Callback URLs में से किसी एक से बिल्कुल मेल खाना चाहिए। OAuth 2.0 के लिए, आपके callback URL पर exact match validation होना आवश्यक है। |
| state | एक यादृच्छिक string, जिसे आप CSRF attacks से सुरक्षा के लिए सत्यापन हेतु प्रदान करते हैं। इस string की लंबाई 500 वर्णों तक हो सकती है। |
| code_challenge | एक PKCE पैरामीटर, जो आपके हर अनुरोध के लिए एक यादृच्छिक secret होता है। |
| code_challenge_method | उस method को निर्दिष्ट करता है जिसका उपयोग आप अनुरोध करने के लिए कर रहे हैं (S256 OR plain)। |