python-eve的用户认证

2020-12-25  本文已影响0人  公输昊少

本文主要参考官方文档官方文档
在利用eve操作MongoDB数据库的时候,难免用到身份验证的功能,官方文档给了配置样例(用户名admin,密码secret)后,直接给出了下面这样的获取数据的命令,而没有说明“YWRtaW46c2VjcmV0”是怎么来的,可能是认为使用这个框架的人本来就该知道吧。

$ curl -H "Authorization: Basic YWRtaW46c2VjcmV0" -i http://example.com

通过查资料,我发现这个字符串是对admin:secret进行base64编码得到的,我在python3字符串base64编解码这篇文章中找到了用python对字符串进行base64编码的方法。
最终,生成headers的代码是这样的:

user_name = "admin"
password = "secret"
s = "%s:%s" % (user_name, password)
authorization = str(base64.b64encode(s.encode('utf-8')), "utf-8")

headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Basic ' + authorization
}

通过验证,是可以用的

上一篇 下一篇

猜你喜欢

热点阅读