Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

python-social-auth custom redirect url in Django

I am using python-social-auth package along with Django to manage oauth and openID logins.

Now the issue is that, I can specify one redirect url in django settings.py, but in some case I want the user to be redirected to the same page from which he initiated the authentication process.

E.g: if my redirect url is : /home/ and I am currently in a page /products/product1 from which I authenticate the user, then I want the user to be redirected to /products/product1/ rather than /home/

Please help me solve this problem or at least some materials that covers this in detail.

Thanks in advance

like image 396
akhil_ Avatar asked Nov 11 '13 12:11

akhil_


2 Answers

I'm pulling your answer out of the question and placing it here for future reference.

Adding a parameter ?next={{request.get_full_path}} to the auth url.

like image 127
Andy Avatar answered Nov 20 '22 12:11

Andy


A bit better is to conditianally add next when it exsists

 <a href="{% url 'social:begin' "google-oauth2" %}
    {% if request.GET.next %}?next={{request.GET.next}}{% endif %}">
      <img src="{{ STATIC_URL }}images/login-google.png" alt="Google">
 </a>
like image 6
David Dehghan Avatar answered Nov 20 '22 13:11

David Dehghan