python - flask_httpauth verify_password回调 无法获取到 email 和 password
高洛峰
高洛峰 2017-04-18 09:52:48
[Python讨论组]

刚学python, 下面的代码是按照 Flask Web 开发中的例子来写的,但是我请求不到token,在verify_password这里email_or_token 一直是空

我直接贴代码

http_auth = HTTPBasicAuth('Bearer')

@http_auth.verify_password
def verify_password(email_or_token, password):
    print(email_or_token, file=sys.stderr)
    if email_or_token == '':
        return False
    if password == '':
        g.current_user = User.verify_auth_token(email_or_token)
        g.token_used = True
        return g.current_user is not None

    user = User.query.filter_by(email = email_or_token).first()
    if not user:
        return False
    g.current_user = user
    g.token_used = False
    return user.verify_password(password)
    
@api.route('/token')
@http_auth.login_required
def get_token():
    if g.current_user.is_anonymous or g.token_used:
        return unauthorized('Invalid credentials')
    return jsonify({'token': g.current_user.generate_auth_token(
        expiration=3600), 'expiration': 3600})

我用 postman 发下面的请求:
http://127.0.0.1:5000/v1.0/to...
一直是返回401,abc 是一个已经存在的账户,print 打印的是''
不知道是哪里出了问题

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
PHP中文网

要发这样的请求:

http://abc@qq.com:123456@127.0.0.1:5000/v1.0/token

如果是用token登录就换成

http://token:@127.0.0.1:5000/v1.0/token
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号