में गुप्त कुंजी और एक्सप्रेस में जेडब्ल्यूटी के लिए पहुंच टोकन और Facebook के साथ NodeJS बनाए रखने मैं दो अनुप्रयोगों:बाकी एपीआई
- सर्वर (REST API सर्वर)
- नोड js
- एक्सप्रेस
- jsonwebtokens
- एक्सप्रेस-जेडटी
- mongoose
- ग्राहक (पोर्टेबल मोर्चा के अंत)
- बूटस्ट्रैप
- कोणीय जे एस
- स्थानीय भंडारण
- कोणीय फेसबुक
- कोणीय जेडब्ल्यूटी
lateron, क्लाइंट ऐप को एंड्रॉइड, आईफोन और फोन के इस्तेमाल के अन्य प्लेटफार्मों के लिए पोर्ट किया जाएगा eGAP। ओथ के लिए, मैं प्रदाता के रूप में फेसबुक का उपयोग कर रहा हूं। अब, मुझे एहसास हुआ कि JSON वेब टोकन इस तरह के सेट अप के लिए जाने का तरीका हैं। मेरा प्रश्न वाक्य रचनात्मक एक के बजाय एक वास्तुकला है - फेसबुक एक्सेस टोकन पर हस्ताक्षर करते समय एक गुप्त कुंजी का प्रबंधन कैसे करें और नोडजेस में जेडब्ल्यूटी के साथ उपयोगकर्ता आईडी?
तो यह है कि कैसे प्रवाह मेरे एप्लिकेशन में काम करता है:
- कोणीय ग्राहक> फेसबुक प्रमाणीकरण शुरू होता है एक लॉग इन बटन
- उपयोगकर्ता बटन पर क्लिक करता है
- ग्राहक user_id प्राप्त करता है और अमेरिकन प्लान एक्सेस टोकन
- क्लाइंट भेजता है [पोस्ट जेसन बॉडी] आप दोनों ser_id और पहुंच टोकन नोड + एक्सप्रेस पर 'http://server.com/auth/login' सर्वर को
नोड सर्वर/प्रमाणन/लॉगिन को छोड़कर सभी मार्गों के लिए एक्सप्रेस-जेडब्ल्यूटी आवेदन किया है एक
वर expressJwt साथ = आवश्यकता है ('एक्सप्रेस-जेडटी');
var jwt = आवश्यकता ('jsonwebtoken');
app.use (expressjwt ({secret: ''}})। ({Path: ['/ auth/login']});
नोड सर्वर, req.body से डेटा प्राप्त इसे प्रयोग
वर टोकन = expressjwt JavascriptSDK का उपयोग कर फेसबुक से सभी प्रोफ़ाइल विवरण, और संकेत को हासिल करेगा।साइन ({प्रोफाइल},);
- नोड सर्वर भंडार (अपडेट, user_id मौजूद रहने पर) DB में नया टोकन बनाकर और ग्राहक
- ग्राहक भंडार नए टोकन यह स्थानीय भंडारण में json डेटा के रूप में मिलने की वजह के रूप में यह भेजता है
- ग्राहक का उपयोग करता कोणीय जेडब्ल्यूटी नए टोकन से प्रोफ़ाइल डेटा लाने और स्वचालित रूप से सभी अनुरोधों को यह सर्वर
अब, मेरे प्रश्न हैं:
- क्या मुझे वास्तव में डेटाबेस में जेडब्ल्यूटी टोकन स्टोर करने की आवश्यकता है? मैं निश्चित रूप से डेटाबेस के साथ अनुरोध शीर्षों में टोकन की तुलना नहीं कर रहा हूँ
- , हर बार में एक व्यक्ति लॉग मैं सुरक्षा के लिए यादृच्छिक गुप्त कुंजी उत्पन्न की जरूरत है? यदि हां तो यह क्लाइंट और सर्वर दोनों में कैसे फिट होगा?
- टोकन की समाप्ति के लिए मुझे कब और कहां की आवश्यकता है? और मैं इसे कैसे रीफ्रेश कर सकता हूं?
मैं एक तरह से डिजाइन प्रवाह और तंत्र के बारे में खो रहा हूँ।
तो अंत में अब आप इसे कैसे कर रहे हैं ?? क्या आप निरस्त टोकन स्टोर करने के लिए कुछ डीबी का उपयोग कर रहे हैं या क्या ?? कृपया उत्तर दें कि यह मेरे लिए वास्तव में उपयोगी होगा –