Flask:重定向在从POST重定向时不呈现模板

时间:2016-05-30 11:10:19

标签: flask

我从这个烧瓶应用程序中克隆了一个应用程序。 我已将Google登录按钮添加到登录页面,该页面会发送包含令牌详细信息的POST消息。所以flasky呈现一个登录表单,但不是表格做POST,谷歌的javascript确实如此。 我可以看到我的处理程序正确读取了令牌:

@auth.route('/receive_idtoken', methods=['POST'])  # gives us the idtoken. 
def receive_idtoken():

然后继续检查用户是否已知:

user = User.query.filter_by(email=idinfo['email']).first()
if user is not None:
    login_user(user,remember=True)
    flash("Congratulations, you have logged in")
    return redirect(request.args.get('next') or url_for('main.index'))

重定向导致我的调试器在main.index的处理程序中恢复控制,模板呈现正常。但页面永远不会出现在浏览器中。登录页面保持不变。浏览器是Firefox,全部在ubuntu 16.04上

我猜上一个请求没有被令牌的ajax帖子终止?

这就是发布token_id的方式:

 var xhr = new XMLHttpRequest();
        xhr.open('POST', 'http://localhost:5000/auth/receive_idtoken');  // to-do need to use the template for this so not to hardcode
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhr.onload = function() {
            console.log('Signed in as: ' + xhr.responseText);
        };
        xhr.send('idtoken=' + id_token);

(纽比)

0 个答案:

没有答案