के माध्यम से उपयोगकर्ता प्रमाणीकरण को संभालना मैं सोच रहा था कि लोग सामान्य रूप से उपयोगकर्ता प्रमाणीकरण को रेडक्स के साथ कैसे संभालते हैं? मैं रेडक्स राउटर का उपयोग कर रहा हूं और मेरे पास बैकएंड रेल एपीआई है जो एक ऑथ टोकन के माध्यम से उपयोगकर्ता प्रमाणीकरण को संभालती है।रेडक्स और रेडक्स राउटर
जब उपयोगकर्ता साइन इन फॉर्म सबमिट करता है तो एपीआई बाद के अनुरोधों के लिए उपयोग करने के लिए ऑथ टोकन वापस कर देगा। मूल रूप से मैंने केवल एक राज्य के पेड़ में ऑथ टोकन संग्रहीत किया है और हर बार जब मैं एक एपीआई अनुरोध करने की आवश्यकता होती हूं जिसके लिए एक उपयोगकर्ता अनुरोध की आवश्यकता होती है जिसके लिए उपयोगकर्ता प्रमाणीकरण की आवश्यकता होती है, तो मैं उस ऑथ टोकन को लाने के लिए (प्रेषण, getState) का उपयोग करता हूं और फिर इसे API में शामिल करता हूं निवेदन। तो: getState()। CurrentUser.auth_token।
मुझे यकीन नहीं है कि मैं इसे सही तरीके से देख रहा हूं। कुछ लोग सर्वर साइड सत्र की तरह अनुकरण करने के लिए उपयोगकर्ता प्रमाणीकरण के लिए Redux के साथ स्थानीय स्टोरेज का उपयोग करते हैं? फिर हर बार जब एक एपीआई अनुरोध किया जाता है तो मैं सिर्फ ऑथ टोकन के लिए स्थानीय संग्रहण की जांच करता हूं और यदि वहां उपयोगकर्ता ने साइन इन किया है?
जो मैंने समाप्त किया वह जेएस-कुकीज का उपयोग कर रहा था और जब उपयोगकर्ता प्रमाणित हुआ तो कुकी.सेट किया। मेरी रूट <App />
घटक के बाद एक घटकडिडमाउंट है जो एक initAuth() क्रिया को प्रेषित करता है जो वर्तमान कुकी को यह देखने के लिए जांचता है कि यह अभी भी वैध है या नहीं। यदि ऐसा है तो यह उपयोगकर्ता को साइन इन करता है अन्यथा यह प्रमाणीकरण reducer को अपने डिफ़ॉल्ट स्थिति में रीसेट करता है। https://github.com/SpencerCDixon/Kira/blob/master/client/actions/AuthActions.js
किसी भी सुझाव या संसाधनों की बहुत सराहना की जाएगी:
यहां उपयोगकर्ता प्रमाणीकरण के साथ रेपो करने के लिए एक कड़ी है। मैंने असली दुनिया के उदाहरण और रिएक्ट राउटर ऑथ उदाहरण को अब तक देखा है। रिएक्ट राउटर उदाहरण स्थानीय स्टोरेज का उपयोग करना प्रतीत होता है, इसलिए मैं उत्सुक हूं कि यह सही तरीका है। मैंने देखा कि एक रेडक्स लोकलस्टोरेज एनपीएम पैकेज भी है।
जानना अच्छा लगेगा कि क्या मैं गलती से खुद को किसी प्रमाणीकरण हमले के लिए खोल रहा हूं या यदि इस प्रवाह तक पहुंचने का एक बेहतर तरीका है!
हाँ कि समझ में आता है। आपके इनपुट के लिए स्वीट धन्यवाद मैं इसकी सराहना करता हूं – spencercdixon
क्या आपके पास अपने लॉगिन/साइनअप – hounded
के उदाहरण के लिए गिट करने का एक लिंक है यदि मैं चाहता हूं कि मेरा ऐप उपयोगकर्ता की लॉगिन स्थिति से अवगत हो? ऐप को पूरी तरह से या आंशिक रूप से काम करना चाहिए भले ही उपयोगकर्ता प्रमाणीकृत नहीं है। –