2015-06-12 7 views
22

तो मैं एक परियोजना पर काम कर रहा हूं जिसमें रिएक्ट, एक्सप्रेस.जेएस + पासपोर्ट और वेबपैक शामिल है। मैं प्रतिक्रिया-राउटर के माध्यम से एक 'मास्टर' प्रतिक्रिया घटक को सबकुछ धक्का देने की अवधारणा को समझता हूं, फिर दिए गए मार्ग के लिए जो प्रदर्शित होता है उसे बाहर निकाल देता है। यह बहुत अच्छा काम करेगा, मुझे लगता है। आगे बढ़ने के लिए, मैं प्रतिक्रिया करने के लिए नया हूँ।प्रतिक्रिया-राउटर का उपयोग करना और पासपोर्ट.जेएस के माध्यम से प्रमाणीकरण के साथ व्यक्त करना - संभव है?

मेरे चिंताएं हैं:

1) मैं/कैसे मैं अभी भी पासपोर्ट मेरी मार्गों को प्रमाणित करने के लिए उपयोग कर सकते कर सकते हैं? अगर मैं प्रतिक्रिया-राउटर को सही ढंग से समझता हूं, तो मेरे पास मेरी एक्सप्रेस एप.जेएस फ़ाइल में एक मार्ग होगा, जो कहता है, नामक एक प्रतिक्रिया घटक। हालांकि, सत्र की जांच के लिए पासपोर्ट को router.get('/myroute', isAuthenticated, callback) की आवश्यकता है। क्या प्रतिक्रिया-राउटर के साथ ऐसा करना अभी भी संभव है?

2) इसके अलावा, यदि यह संभव है, तो मैं अपने विचारों में एक्सप्रेस में मार्ग से मूल्यों को कैसे रोकूं? मैं एक सामान्य दृश्य में जानता हूं, अगर मैं अपने मार्ग से पास करता हूं तो मैं <%= user %> या {{user}} का उपयोग कर सकता हूं। क्या यह यहां संभव है?

उत्तर

9

एपीआई पथ से एक दृश्य प्रतिपादन पथ विभाजित करें। आखिरकार आप एपीआई कॉल में प्रमाणीकरण तर्क सेट कर सकते हैं।

//Auth check middleware 
function isAuth(req, res, next) {...} 

//API routes 
app.post("api/users/login", function() {...}); 
app.post("api/users/logout", function() {...}); 
app.get("api/purchases", isAuth, function() {...}); 
//and so on... 

//Wild card view render route 
app.use(function(req, res) { 
    var router = Router.create({ 
    onAbort: function(options) {...}, 
    onError: function(error) {...}, 
    routes: //your react routes 
    location: req.url 
    }); 
    router.run(function(Handler) { 
    res.set("Content-Type", "text/html"); 
    res.send(React.renderToString(<Handler/>)); 
    }); 
}); 

तो तुम हल करने के लिए कैसे आप एक ग्राहक के पक्ष को विचारों में सर्वर साइड प्रदान की गई डेटा पास करने के (तकनीक के हस्तांतरण अपने isomorphic डेटा चुनें) जा रहे है।

आप केवल क्लाइंट पक्ष पर विचार और पुनर्निर्देशन तर्क भी बना सकते हैं और सबसे पहले एक "प्रतीक्षा" स्थिति में प्रतिक्रिया घटक प्रस्तुत कर सकते हैं जिसे किसी घटक के बाद क्लाइंट पर हल किया जाएगा (एपीआई कॉल के माध्यम से ऑथ स्टेट देखें)।

+0

धन्यवाद। यह काम कर रहा है मुझे अभी भी अपना वेबपैक मेरे सर्वर साइड कोड को संकलित करने की आवश्यकता है, लेकिन यह मुझे सही दिशा में मिला। बहुत सराहना की! – afithings

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