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)