/ पायथन-सोशल-ऑर्गनाइज़ लॉगिन के बाद दूसरे डोमेन पर रीडायरेक्ट करें - पायथन, डीजेंगो, रीडायरेक्ट, पायथन-सोशल-ऑर्गनाइज़

पाइथन-सोशल-ऑथ लॉगिन के बाद किसी अन्य डोमेन पर रीडायरेक्ट करें - पायथन, डीजेंगो, रीडायरेक्ट, पायथन-सोशल-ऑथ

क्या यह संभव है कि लॉगिन के बाद किसी अन्य वेब पर रीडायरेक्ट हो python-social-auth?

हम कहते हैं:

<a href="{% url "social:begin" "facebook" %}?next={{ request.path }}"></a>

उपरोक्त उदाहरण प्रलेखन के अनुसार है और यह अच्छी तरह से काम कर रहा है, लेकिन जब मैं यह कोशिश करता हूं:

<a href="{% url "social:begin" "facebook" %}?next=http://www.google.com/"></a>

मुझे निम्नलिखित त्रुटि मिलती है:

http://example.com:8000/accounts/profile/ Not Found

यह समझ में आता है; मेरे पास यह URL परिभाषित नहीं है

इस बिंदु पर मैं पहले ही लॉग इन हो चुका हूं, लेकिन मुझे एक त्रुटि पृष्ठ दिखाई देता है।

लेकिन उसी कॉन्फ़िगरेशन के साथ, अगर मैं अपनी साइट पर रीडायरेक्ट करता हूं, तो यह काम करता है, मुझे लगता है कि यह सेटिंग्स के बारे में कुछ है, लेकिन मुझे पता नहीं है कि कौन सा है।

संपादित करें:

अगर मैं हटा देता हूं next पहले कॉन्फ़िगरेशन में परम प्राप्त करें, यह उसी त्रुटि को बढ़ाता है।

उत्तर:

उत्तर № 1 के लिए 1

यह एक अलग डोमेन पर पुनर्निर्देशित करने के लिए सुरक्षित नहीं है, उदा। https://www.google.com। यह समझने के लिए कि क्यों, मैं कल्पना करता हूं कि मैं आपके उपयोगकर्ताओं को एक लिंक भेजता हूं:

http://www.yoursite.com/login?next=http://myevilsite.com

यदि आपका लॉगिन पृष्ठ विश्वसनीय है next url, फिर आपके उपयोगकर्ताओं को लॉग इन करने के बाद मेरी साइट पर पुनः निर्देशित किया जाएगा। मैं फ़िशिंग हमलों के लिए इसका उपयोग कर सकता हूं।

इसे रोकने के लिए, Django जाँच करता है कि अगले url को पुनर्निर्देशित करना सुरक्षित है। यदि यह सुरक्षित नहीं है, तो यह पुनर्निर्देशित करेगा settings.LOGIN_REDIRECT_URL, जो चूक करता है /accounts/profile/। आप ऐसा कर सकते हैं यहाँ कोड देखें.