跳转到主要内容

Flask蓝图,用于连接到MediaWiki OAuth服务器

项目描述

PyPI version

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还添加了一些便利函数

  1. get_current_user(cached=True) 报告当前用户是谁。为了确认用户仍然登录(例如,令牌尚未被撤销),请使用 cached=False 调用它。

  2. 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 中实现。

  1. 访问 https://meta.wikimedia.org/wiki/Special:OAuthConsumerRegistration/propose 并填写以下值
  • 应用程序名称:测试应用程序
  • 应用程序描述:flask-mwoauth 测试应用程序
  • OAuth "回调" URL: http://localhost:5000/oauth-callback
  • 联系电子邮件地址
  • 保留所有其他值默认。
  1. 点击 '提出消费者'。现在您会收到一条消息,表明

您的 OAuth 消费者请求已接收。

您已被分配一个消费者令牌 和一个秘密令牌 。请记录这些信息以供将来参考。

  1. 然后

    $ 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>
    

    如果应用程序重新加载,您可能需要重新输入密钥和秘密。

  2. 访问 http://localhost:5000/ 并点击 '登录'。

使用 flask-mwoauth 的项目

要了解 flask-mwoauth 在应用程序中的使用方式,您可以查看以下项目:

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

flask-mwoauth-0.4.82.tar.gz (7.7 kB 查看哈希值)

上传时间

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面