जैसे omniauth प्रदाता का उपयोग करते समय डेविस संग्रहीत स्थान पर ठीक से रीडायरेक्ट नहीं करता है मेरे पास मेरे ऐप में कुछ क्रियाएं हैं जो सुरक्षित हैं और उपयोगकर्ता प्रमाणीकरण की आवश्यकता है। चूंकि मैं devise का उपयोग कर रहा हूँ, मैं certicate_user का उपयोग करें! उन्हें बचाने के लिए फिल्टर से पहले। जब भी उपयोगकर्ता संरक्षित पृष्ठ पर हिट करता है, तो उपयोगकर्ता को लॉगिन करने के लिए कहें और फिर सुरक्षित पृष्ठ पर रीडायरेक्ट करें। यह हिस्सा पूरी तरह से काम करता है।फेसबुक
समस्या यह है कि जब उपयोगकर्ता मेरे ऐप के माध्यम से फेसबुक के साथ लॉगिन करने का प्रयास करता है, तो उपयोगकर्ता लॉगिन के बाद उपयोगकर्ता को सुरक्षित पृष्ठ पर रीडायरेक्ट नहीं करता है। यह हमेशा उपयोगकर्ता को रूट यूआरएल पर फेंक देता है। मानक प्रमाणीकरण के साथ यह कोई समस्या नहीं है
मुझे संदेह है कि इसे पासथ्रू विधि के साथ कुछ करना है जो सर्वव्यापी एकीकरण की आवश्यकता है। किसी भी मदद बहुत सराहना की जाएगी
यहाँ omniauth कॉलबैक के लिए मेरे कोड का टुकड़ा है:
def facebook
# You need to implement the method below in your model
omniauth = request.env["omniauth.auth"]
@user = User.find_for_facebook_oauth(omniauth, current_user)
if @user.persisted?
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Facebook"
sign_in_and_redirect @user, :event => :authentication
else
session["devise.facebook_data"] = env["omniauth.auth"]
redirect_to new_user_registration_url
end
end
def passthru
render :file => "#{Rails.root}/public/404.html", :status => 404, :layout => false
end
आप यह पता लगा सकते थे? मुझे अभी भी एक ही समस्या है, और मुझे लगता है कि पिछले पृष्ठ पर रीडायरेक्ट करने के लिए एक साथ devise और omniauth को एकीकृत करने का तरीका नहीं लगता है। – kibaekr
यह कोड आपके क्लाइंट या आपके प्रदाता में है? – emerak