python - flask_httpauth verify_password回调 无法获取到 email 和 password
高洛峰
高洛峰 2017-04-18 09:52:48
0
1
729

刚学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)
洪涛

要发这样的请求:

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

如果是用token登录就换成

http://token:@127.0.0.1:5000/v1.0/token
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板