Flask蓝图,用于连接到MediaWiki OAuth服务器
项目描述
flask-mwoauth
Flask蓝图,用于在MediaWiki的OAuth扩展上运行OAuth。
注意: python-mwoauth 库维护更为活跃,并且也包含基本的Flask支持。如果它支持您的用例,请考虑直接使用
python-mwoauth
。
蓝图添加了以下URI
- /login - 运行OAuth握手并将用户返回到/
- /login?next=/someurl 将返回用户到 /someurl
- /logout - 清除用户的访问令牌
- /logout?next=/someurl 将返回用户到 /someurl
- /oauth-callback - 来自MW的回调以完成握手
用户的OAuth密钥和秘密存储在会话中。
此外,flask-mwoauth还添加了一些便利函数
-
get_current_user(cached=True)
报告当前用户是谁。为了确认用户仍然登录(例如,令牌尚未被撤销),请使用 cached=False 调用它。 -
request(api_query)
通过 API 提交请求,使用用户的访问令牌。例如:
result = request({'action': 'query', 'meta': 'userinfo'})
获取 https://www.mediawiki.org/w/api.php?action=query&meta=userinfo 并将结果作为 Python 字典返回,例如:
{u'batchcomplete': u'', u'query': {u'userinfo': {u'id': 31344, u'name': u'Valhallasw'}}}
如果您有权访问其他维基百科(例如,en.wikipedia.org,尽管您通过 mediawiki.org 授权),您可以使用以下方式在该处运行请求:
result = request({'action': 'query', 'meta': 'userinfo'}, url='https://en.wikipedia.org/w/api.php')
有关使用 API 的更多信息,请查看 https://www.mediawiki.org/wiki/API:Main_page 的 API 文档
示例应用程序
示例应用程序在 demo.py
中实现。
- 应用程序名称:测试应用程序
- 应用程序描述:flask-mwoauth 测试应用程序
- OAuth "回调" URL: http://localhost:5000/oauth-callback
- 联系电子邮件地址
- 保留所有其他值默认。
- 点击 '提出消费者'。现在您会收到一条消息,表明
您的 OAuth 消费者请求已接收。
您已被分配一个消费者令牌 和一个秘密令牌 。请记录这些信息以供将来参考。
-
然后
$ python setup.py develop $ python demo.py NOTE: The callback URL you entered when proposing an OAuth consumer probably did not match the URL under which you are running this development server. Your redirect back will therefore fail -- please adapt the URL in your address bar to http://localhost:5000/oauth-callback?oauth_verifier=...etc Consumer key: <the consumer key you got> Consumer secret: <the consumer secret you got>
如果应用程序重新加载,您可能需要重新输入密钥和秘密。
-
访问 http://localhost:5000/ 并点击 '登录'。
使用 flask-mwoauth 的项目
要了解 flask-mwoauth 在应用程序中的使用方式,您可以查看以下项目:
项目详情
关闭
flask-mwoauth-0.4.82.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a6bda17e6ec9a0523ae54cd8c3af844613949712a47d4f2032c50e30a208c14 |
|
MD5 | a937141d3aa29612610b3966ab18ffa3 |
|
BLAKE2b-256 | ed1c5ad8b2a001f7ceeb8775007577ae196db2c4facc88ff2e60ec8fb86afcfd |