@receiver(request_started)
def monkey_patch_redirect_uri(sender, **kwargs):
"""
store redirect uri in _redirect_uri
"""
def set_redirect_uri(self, redirect_uri):
self._redirect_uri = redirect_uri
"""
replace default redirect uri with
uri based on settings.CALLBACK_URL
"""
def get_redirect_uri(self):
from django.conf import settings
rooturi = urlparse(settings.CALLBACK_URL)
redirecturi = urlparse(self._redirect_uri)
return urlunparse((rooturi.scheme, rooturi.netloc, \
redirecturi.path, redirecturi.params, redirecturi.query, \
redirecturi.fragment))
social_auth.backends.BaseOAuth2.redirect_uri = \
property(get_redirect_uri, set_redirect_uri)
social_auth.backends.BaseOAuth.redirect_uri = \
property(get_redirect_uri, set_redirect_uri)
Then i import this module in my models.py (as suggested in the link). And it works. Since my app runs behind nginx this fixed me right up. Hope it helps.