मैं अपनी समस्या को हल करने के तरीके पर कुछ सर्वोत्तम प्रथाओं को खोजने की कोशिश कर रहा हूं।

मेरे पास प्रमाणीकरण और प्राधिकरण के लिए oauth2 और फायरबेस के साथ एक माइक्रोसर्विस एप्लिकेशन है। हमारे एप्लिकेशन को तीसरे पक्ष के बाकी एपीआई से कनेक्ट करने की जरूरत है जो oauth2 के साथ भी सुरक्षित है।

क्या दोनों कार्यान्वयनों को एकीकृत करना संभव है या क्या मुझे अपना समाधान स्वयं करने की आवश्यकता है?

मेरे सहकर्मियों में से एक ने एपीआई तक पहुंचने के लिए आवश्यक प्राधिकरण-कोड प्रवाह को लागू किया और हम मूल रूप से इस तृतीय पक्ष एपीआई तक पहुंचने के लिए डेटाबेस में एक्सेस और रीफ्रेश_टोकन स्टोर करते हैं। लेकिन यह सही नहीं लगता, मुझे कोई सर्वोत्तम अभ्यास भी नहीं मिल रहा है, क्या कोई मेरी मदद कर सकता है?

0
Niels Van Haren 23 अगस्त 2020, 12:09

1 उत्तर

सबसे बढ़िया उत्तर

आपके सहकर्मी ने जो क्रियान्वित किया है वह बहुत विशिष्ट है: तृतीय पक्ष एपीआई के आपके उपयोग को अधिकृत करने वाले अपने उपयोगकर्ताओं से अपने स्वयं के एप्लिकेशन (जिसे आप फायरबेस के साथ प्रबंधित करते हैं) के लिए प्रमाणीकरण और प्राधिकरण को अलग करना।

यहां कुछ सर्वोत्तम प्रक्रियाएं दी गई हैं जिनका आपको अपना OAuth प्रवाह लागू करते समय पालन करना चाहिए:

  • CSRF हमलों से बचने के लिए state पैरामीटर का उपयोग करें। इसे अपने डेटाबेस में स्टोर करें और कॉलबैक state की तुलना उस कॉलबैक से करें जिसे आपने उपयोगकर्ता के लिए यादृच्छिक रूप से जेनरेट किया था
  • पहुंच एन्क्रिप्ट करें और टोकन रीफ्रेश करें। रीफ्रेश टोकन विशेष रूप से लंबे समय तक पहुंच प्रदान करते हैं
  • सत्यापित करें कि आपने जो scope मांगा था, वही scope लौटाया गया था: कुछ प्रदाता उपयोगकर्ताओं को अनुमतियों को समायोजित करने की अनुमति देते हैं, जिससे अनपेक्षित त्रुटियां हो सकती हैं
  • सुनिश्चित करें कि आपके रीफ़्रेश टोकन की समय-सीमा समाप्त न हो जाए। यह देखने के लिए प्रदाता के दस्तावेज़ देखें कि ताज़ा टोकन कैसे अधिकृत होते हैं। कुछ समय-आधारित हैं, कुछ जारी किए जा रहे नए ताज़ा टोकन पर आधारित हैं, लेकिन किसी भी स्थिति में, सुनिश्चित करें कि आपका ताज़ा टोकन मान्य रहता है, जैसे कि ऐसा नहीं है, आपको उपयोगकर्ता को अपने आवेदन को फिर से अधिकृत करने के लिए प्राप्त करना होगा

आप इन सभी तत्वों को दूर करने के लिए एक प्रबंधित OAuth प्रदाता का भी उपयोग कर सकते हैं। Xkit, जिस पर मैं काम करता हूं, Firebase प्रमाणीकरण के साथ एकीकृत होता है ताकि आपके उपयोगकर्ता आपके ऐप को अधिकृत कर सकें, और आप प्रत्येक उपयोगकर्ता के टोकन पुनर्प्राप्त कर सकें एक एपीआई कॉल के साथ।

0
Trey Griffith 25 अगस्त 2020, 16:59