मैं रेल एपीआई के साथ एक साधारण एपीआई बना रहा हूं, और यह सुनिश्चित करना चाहता हूं कि मैं यहां सही रास्ते पर हूं। मैं लॉगिन को संभालने के लिए डेविस का उपयोग कर रहा हूं, और डेविस के token_authenticatable
विकल्प के साथ जाने का फैसला किया , जो एक एपीआई कुंजी बनाता है जिसे आपको प्रत्येक अनुरोध के साथ भेजने की आवश्यकता होती है।
मैं एपीआई को बैकबोन / मैरियनेट फ्रंट एंड के साथ जोड़ रहा हूं और आम तौर पर सोच रहा हूं कि मुझे सत्र कैसे संभालना चाहिए। मेरा पहला विचार सिर्फ स्थानीय भंडारण या कुकी में एपीआई कुंजी को संग्रहीत करना था, और इसे पेज लोड पर पुनः प्राप्त करना था, लेकिन एपीआई कुंजी को संग्रहीत करने के बारे में कुछ इस तरह से मुझे सुरक्षा दृष्टिकोण से परेशान करता था। आपी कुंजी को स्थानीय भंडारण / कुकी में देख कर या उसके माध्यम से जाने वाले किसी भी अनुरोध को सूँघना आसान नहीं होगा, और इसका उपयोग उस उपयोगकर्ता को अनिश्चित काल के लिए रोकना आसान नहीं होगा? मैं वर्तमान में प्रत्येक कुंजी को एपीआई कुंजी रीसेट कर रहा हूं, लेकिन यहां तक कि अक्सर लगता है - किसी भी समय आप किसी भी डिवाइस पर लॉग इन करते हैं, इसका मतलब है कि आप हर दूसरे पर लॉग आउट होंगे, जो एक तरह का दर्द है। अगर मैं इस रीसेट को छोड़ सकता हूं तो मुझे लगता है कि यह एक प्रयोज्य दृष्टिकोण से बेहतर होगा।
मैं यहां पूरी तरह से गलत हो सकता हूं (और मुझे आशा है कि), क्या कोई समझा सकता है कि क्या इस तरह से प्रमाणित करना विश्वसनीय रूप से सुरक्षित है, और यदि एक अच्छा विकल्प नहीं है तो क्या होगा? कुल मिलाकर, मैं एक ऐसा रास्ता ढूंढ रहा हूं, जिसमें मैं उपयोगकर्ताओं को सुरक्षित रूप से फिर से ऑवर ऑवर मजबूर किए बिना एपीआई एक्सेस में 'साइन इन' रख सकता हूं।