我将OAuth添加到Flask应用内的其中一个蓝图中,Facebook身份验证的基本设置通常类似于:
@app.route('/login')
def login():
return facebook.authorize(callback=url_for(
'oauth_authorized',
next=request.args.get('next') or request.referrer or None)
)
但在我的蓝图中,url_for
始终返回相对路径网址,例如/auth/oauth_authorized
,并且被Facebook拒绝,因为重定向网址必须是绝对的。
我通过硬编码重定向网址暂时解决了这个问题,但让Flask正确处理网址的正确方法是什么?