首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@flask_login.login_required工作不正常

@flask_login.login_required工作不正常
EN

Stack Overflow用户
提问于 2019-05-03 14:09:39
回答 1查看 1.3K关注 0票数 1

我正在使用flask_login在我的烧瓶应用程序中实现auth。

下面是启用unauthorized_handlerlogin_required的方法

代码语言:javascript
复制
@login_manager.unauthorized_handler
def unauthorized_handler():
    return redirect(url_for('login'))
# use decorators to link the function to a url

@app.route('/profile', methods=['GET'])
@flask_login.login_required
def profile():
    return render_template('profile.html')

我正在使用firebase作为后端服务。

代码语言:javascript
复制
@app.route('/login', methods=['GET', 'POST'])
def login():
    auth = firebase.auth()
    if request.method == 'POST':
        try:
            user = auth.sign_in_with_email_and_password(request.form['email'], request.form['password'])
            if user != None:
                return redirect(url_for('profile'))
        except requests.exceptions.HTTPError as e:
            response = e.args[0].response
            error = response.json()['error']['code']
            return redirect(url_for('home'))
    return render_template('login.html')

问题是,在我登录(这是成功的)之后,应用程序将自动重定向到/login url,而不是/profle

我试着关闭调试模式,但仍然无法工作。

EN

回答 1

Stack Overflow用户

发布于 2019-05-03 15:25:02

这可能是双重重定向发生的情况,您首先被重定向到profile,然后login_required装饰器开始将您重定向回登录,因为从flask_login的角度来看,您还没有登录。

您可能已经从firebse检索了用户凭据,但是使用flask_login,您还必须调用login_user函数。(还请参阅烧瓶登录页面的登录示例 )

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55971523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档