उत्तर के लिए 1 बहुत आसान है: बस इस
# If a user is signed in then he is trying to link a new account
if user_signed_in?
if authentication.persisted? # This was a linking operation so send back the user to the account edit page
flash[:success] = I18n.t "controllers.omniauth_callbacks.process_callback.success.link_account",
:provider => registration_hash[:provider].capitalize,
:account => registration_hash[:email]
else
flash[:error] = I18n.t "controllers.omniauth_callbacks.process_callback.error.link_account",
:provider => registration_hash[:provider].capitalize,
:account => registration_hash[:email],
:errors =>authentication.errors
end
redirect_to edit_user_account_path(current_user)
तरह omniauth_callbacks_controller :: process_callback विधि में एक है, तो पथ को जोड़ने यह वही है मैं अपने आवेदन में करते हैं और इसे ठीक काम करता है है।
प्रश्न 2 के बारे में मुझे नहीं पता कि 2 अलग-अलग फेसबुक प्रमाणीकरण कॉन्फ़िगरेशन का समर्थन कैसे करें, हालांकि मुझे यह देखने में कठिनाई होती है कि यह उपयोगकर्ताओं के लिए उपयोगी कैसे है क्योंकि उन्हें दोनों पथों में लगातार अनुभव की आवश्यकता है: "फेसबुक का उपयोग करके साइन इन करें" और "लिंक फेसबुक पर आपका खाता "। (यदि आप अभी भी इस पथ को आगे बढ़ाना चाहते हैं तो एक विचार है कि मैं अपनी स्वतंत्र कुंजी और कॉन्फ़िगरेशन के साथ एक नया फेसबुक एप्लिकेशन बनाना चाहता हूं ...)
इस सहायता की आशा करें। बहु स्तरीय अनुमतियों को लागू करने के
स्रोत
2012-01-02 18:57:50
जवाब देने के लिए, वहाँ साइट पर काम करता है कि कम या ज्यादा अनुमतियों की आवश्यकता होगी रहे हैं "मैं कठिन समय को देखकर कैसे है कि क्योंकि वे एक सुसंगत अनुभव की जरूरत है उपयोगकर्ताओं के लिए उपयोगी है" - उदाहरण के लिए, तुम सिर्फ एक बुनियादी लॉगिन चाहते हैं, हम कम से कम अनुमतियों के लिए पूछेंगे। हालांकि, अगर आप कुछ फैनसीयर चाहते हैं (उदाहरण के लिए प्रोफाइल से कुछ विवरण प्राप्त करें), तो हमें और अनुमतियों के लिए पूछना होगा। – katzmopolitan