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

刚学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教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(1)
洪涛

Untuk menghantar permintaan seperti ini:

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

Jika anda menggunakan token untuk log masuk, tukarkannya kepada

http://token:@127.0.0.1:5000/v1.0/token
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan