0

我有以下内容:

@auth.verify_password
def verify_password(username_or_token, password):
    logger = logging.getLogger('__name__')
    logger.error('username = %s' %username_or_token)
    # first try to authenticate by token    
    user = USER.verify_auth_token(username_or_token)
    if not user:
        with contextlib.closing(DBSession()) as session:                                                                                                                    
            try:
                # try to authenticate with username/password
                user = session.query(USER).filter_by(USERSEMAIL = username_or_token).first()
                if not user or not user.verify_password(password):
                    return False
            except exc.SQLAlchemyError, error:
                session.rollback()
                raise_database_error(error)       
    g.user = user
    return True



@app.route('/api/token')
@auth.login_required
def get_auth_token():
    token = g.user.generate_auth_token()
    return jsonify({ 'token': token.decode('ascii') })

当我使用 访问api/token路线localhost时,系统会提示我输入我的usernamepassword。之后当我检查我的日志时,我发现username_or_token变量是''.

奇怪的是我已经在我的身上测试了完全相同的代码online server并且没有任何问题..

我正在使用Advanced Rest Client. 使用这个时,我在选项卡下plugin添加并Authorisation header使用下拉字段。在我的.LoginPasswordBasiconline server

我正在使用XAMPP. 不太确定要提供哪些其他信息。

有没有人经历过这种情况?

请求详细信息

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36
Authorization: Basic Z2lyaTFAZ21haWwuY29tOmFzZA==
Accept: */*
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh-TW;q=0.4

HTTPIE 输出

在此处输入图像描述 在此处输入图像描述

再次username设置为''

4

0 回答 0