我有以下内容:
@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
时,系统会提示我输入我的username
和password
。之后当我检查我的日志时,我发现username_or_token
变量是''
.
奇怪的是我已经在我的身上测试了完全相同的代码online server
并且没有任何问题..
我正在使用Advanced Rest Client
. 使用这个时,我在选项卡下plugin
添加并Authorisation header
使用下拉字段。在我的.Login
Password
Basic
online 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
设置为''
。