2015-05-30 6 views
7

मैं वेब अनुप्रयोग विकसित करने के लिए MeanJS स्टैक का उपयोग कर रहा हूं। मेरे पास जो मुद्दा है, वह है कि मेरी नियमित साइनअप प्रक्रिया में कुछ अद्वितीय पैरामीटर हैं जो ओथ उपयोगकर्ता प्रोफ़ाइल के लिए आम नहीं हैं। इसलिए, जब मैं उपयोगकर्ता के साथ साइन अप करने के लिए जाता हूं, तो मैं उन्हें एक नए साइनअप फॉर्म में ले जाता हूं, जिसने उन्हें अतिरिक्त पैरामीटर भर दिया है, और फिर "फेसबुक के साथ साइनअप" पर क्लिक करें। https://github.com/meanjs/mean/blob/master/app/routes/users.server.routes.jsमैं ओथ अनुरोध के साथ अनुरोध पैराम सबमिट और संसाधित कैसे करूं?

विशेष रूप से इन पंक्तियों:

app.route('/auth/facebook').get(passport.authenticate('facebook', { 
    scope: ['email'] 
})); 

app.route('/auth/facebook/callback').get(users.oauthCallback('facebook')); 

मैं करना चाहते हैं क्या, अनुरोध से जुड़ी अतिरिक्त पैरामीटर है

मार्गों एक ही आम MeanJS मार्गों यहां पाया के रूप में कर रहे हैं ऑब्जेक्ट, ताकि जब ऑथ प्रक्रिया exports.saveOAuthUserProfile तक पहुंच जाए: https://github.com/meanjs/mean/blob/master/app/controllers/users/users.authentication.server.controller.js यह फ़ंक्शन उन पैरामीटर तक पहुंचने और उन्हें उपयोगकर्ता मॉडल के हिस्से के रूप में सहेजने में सक्षम होगा।

मैं अनुरोध करने के लिए मानकों को संलग्न और

req.params.paramId

तक पहुँचने की कोशिश की है, लेकिन यह काम करेगा नहीं है, क्योंकि आप फेसबुक एपीआई के साथ एक परम लोड अनुरोध पंजीकृत नहीं कर सकता (या कम से कम यह प्रतीत हो रहा है उस तरफ)।

और मैंने स्टैक ओवरफ्लो पर कहीं और पढ़ा है कि आप अनुरोध राज्य लोड कर सकते हैं, लेकिन यह वास्तव में मेरे लिए अजीब लगता है। इसके लिए यहां लिंक है: Facebook OAuth: custom callback_uri parameters

तो, ओथ अनुरोध में अतिरिक्त डेटा को लोड करने के तरीके पर कोई मार्गदर्शन, ताकि जब मैं उपयोगकर्ता प्रोफ़ाइल को सहेजूं तो मैं इसे एक्सेस कर सकता हूं और इसे सहेज सकता हूं, यह बहुत अच्छा होगा।

धन्यवाद दोस्तों।

उत्तर

2

यह वास्तव में मुझे स्पष्ट नहीं है कि आप क्या हासिल करना चाहते हैं। "अतिरिक्त" फ़ील्ड क्या हैं, और आप सीधे उपयोगकर्ता की प्रोफ़ाइल से फ़ील्ड क्यों नहीं प्राप्त करते हैं? मैंने देखा है कि एफबी लॉगिन कार्यान्वयन के लगभग 9 8% ने "फेसबुक के साथ लॉगिन करें" बटन का उपयोग किया है और उपयोगकर्ता के डेटा को OAuth प्रक्रिया के दौरान ही प्राप्त किया है, और उपयोगकर्ता द्वारा मैन्युअल रूप से दर्ज नहीं किया गया है।

उदाहरण के लिए passport-facebook साथ

, यह संभव है आप

क) कॉन्फ़िगर कस्टम दायरे होते

ख) को समृद्ध कस्टम दायरे के डेटा के साथ प्रोफ़ाइल ऑब्जेक्ट

profile वस्तु तो अतिरिक्त अनुरोध किया फ़ील्ड अपने आप में शामिल होंगे, और आप अनुरोध वस्तु ही बदलाव करने की जरूरत नहीं है।

+0

इसका उद्देश्य यह है कि उपयोगकर्ता कुछ कस्टम डेटा निर्दिष्ट कर रहा है जो कि फेसबुक प्रोफाइल सिस्टम का हिस्सा नहीं है, फिर भी यह डेटा है जो इस सिस्टम के उपयोगकर्ता ऑब्जेक्ट (और साइनअप की आवश्यकता) का हिस्सा है। इसलिए, मैं चाहता हूं कि उपयोगकर्ता फेसबुक के साथ भी साइनअप पर इस अतिरिक्त डेटा में प्रवेश कर सके। – Devnetics

+0

एक सत्र ऑब्जेक्ट में मूल्यवान एफबी प्रोफाइल और कस्टम दोनों को संयोजित करें। – Tobi

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