2015-02-25 3 views
12

मैं वेबसाइट पर भरने वाले फॉर्म की सामग्री को सहेजने के लिए InfusionSoft's API का उपयोग कर रहा हूं। एपीआई OAuth का उपयोग करता है, और जो मैं कह सकता हूं उससे जीवनभर का सत्र नहीं है।मैं प्रोग्रामैटिक रूप से ओएथ सत्र कैसे शुरू करूं?

रास्ता OAuth काम करने के लिए प्रतीत होता है कि यह एक उपयोगकर्ता के लिए लॉग इन करने के लिए करता है, तो उसकी सत्र, समाप्त हो गया है सिर्फ एक वेबसाइट में प्रवेश करने की तरह बनाया गया है। यह स्पष्ट रूप से एक एपीआई के लिए उपयुक्त नहीं है, लेकिन मुझे यकीन है कि यह एक असामान्य आवश्यकता नहीं है।

मैं एक प्रारंभिक टोकन है, लेकिन उसके बाद समाप्त हो रहा है, तो क्या? एकमात्र चीज जिसे मैं सोच सकता हूं वह एक क्रॉन जॉब है जो एक्सेस टोकन को रीफ्रेश करने के लिए प्रति घंटा चलता है (वहां 'रीफ्रेश एक्सेसऑकन' विधि है)।

+0

शायद कुछ मार्गदर्शिका के लिए यह साइट देखें: https://developer.infusionsoft.com/docs/read/Getting_Started_With_OAuth2 – silkfire

+0

हाँ, यह उम्मीद करता है कि किसी उपयोगकर्ता को लॉगिन करने के लिए इन्फ्यूजन सॉफ्ट पर रीडायरेक्ट किया जाए। यह एक सीआरएम है, इसलिए उपयोगकर्ता के पास कभी खाता नहीं होगा, इसके बजाय उन्हें संपर्क के रूप में जोड़ा जाना होगा। इन्फ्यूजन सॉफ़्ट का 'उपयोगकर्ता', और उपयोगकर्ता जो ओएथ के माध्यम से लॉग इन करता है वह वेबसाइट ही है (सीआरएम मालिक)। मैं स्पष्ट रूप से प्रारंभिक एक्सेस टोकन प्राप्त करने के लिए ऐसा कर सकता हूं, लेकिन फिर क्या? – Mike

उत्तर

10

आप दोनों पहुंच टोकन स्टोर करने के लिए की जरूरत है (अल्पावधि - यह 24 घंटे के लिए जीना है) और ताज़ा टोकन (लंबी अवधि)।

आप केवल प्रत्येक सत्र के प्रारंभ में refreshAccessToken विधि कॉल करने की आवश्यकता होगी। वह विधि एक नई एक्सेस टोकन और एक नया ताज़ा टोकन दोनों लौटाएगी।

जब API अनुरोध बनाने वर्तमान "सत्र" के लिए नए पहुंच टोकन का प्रयोग करें। एक्सेस टोकन 24 घंटों के लिए मान्य होगा (समय-समय पर यह परिवर्तन)।

स्टोर नई ताज़ा टोकन और आपका अगले सत्र के लिए इसे फिर से उपयोग करें।

संबंधित मुद्दे