def __init__(self, request, redirect):
self.request = request
- self.data = request.POST if request.method == 'POST' else request.GET
+ # Use request because some auth providers use POST urls with needed
+ # GET parameters on it
+ self.data = request.REQUEST
self.redirect = redirect
def auth_url(self):
backend = get_backend(backend, request, redirect)
if not backend:
return HttpResponseServerError('Incorrect authentication service')
- data = request.REQUEST
# Check and sanitize a user-defined GET/POST redirect_to field value.
- redirect = sanitize_redirect(request.get_host(), data.get(REDIRECT_FIELD_NAME))
+ redirect = sanitize_redirect(request.get_host(),
+ request.REQUEST.get(REDIRECT_FIELD_NAME))
request.session[REDIRECT_FIELD_NAME] = redirect or DEFAULT_REDIRECT
if backend.uses_redirect:
return HttpResponseRedirect(backend.auth_url())