def process_oauth_redirect(request, post_auth_redirect='/', client_secrets_filename=None, redirect_uri=None): # if not xsrfutil.validate_token(settings.SECRET_KEY, request.REQUEST['state'], request.user): # return HttpResponseBadRequest("State did not validate.") flow = _get_flow(client_secrets_filename=client_secrets_filename, redirect_uri=redirect_uri) cred = flow.step2_exchange(request.REQUEST) credential = GoogleCredential.from_json(cred.to_json(), request.user) return HttpResponseRedirect(post_auth_redirect)
def process_oauth_redirect(request, post_auth_redirect='/', client_secrets_filename=None, redirect_uri=None): # if not xsrfutil.validate_token(settings.SECRET_KEY, request.REQUEST['state'], request.user): # return HttpResponseBadRequest("State did not validate.") flow = _get_flow(client_secrets_filename=client_secrets_filename, redirect_uri=redirect_uri) cred = flow.step2_exchange(request.REQUEST) if not request.user.is_authenticated(): # Create a new user automagically. user = User() user.username = '******' % random.randrange(16**30) # password = '******' % random.randrange(16**30) user.set_unusable_password() user.save() # authenticate(username=user.username) user.backend='django.contrib.auth.backends.ModelBackend' login(request, user) else: user = request.user credential = GoogleCredential.from_json(cred.to_json(), request.user) return HttpResponseRedirect(post_auth_redirect)