Python为支持oauth2、adal和msal的microsoft请求会话
requests-ms-auth的Python项目详细描述
使用ADAL/MSAL和自动续订访问令牌的OAuth2的Python请求
关于
此项目提供一个简单的Requests兼容会话,您可以使用该会话通过以下方式与Microsoft进行身份验证:
会话自动更新访问令牌(默认令牌每小时过期一次)。
该软件包在PyPi上提供。在
如何使用
安装软件包
python3 -m pip install --upgrade requests_ms_auth
举个例子
NOTE: These examples are made for easy access to Equinor specific systems.
NOTE: Before using the example you should first fill the credentials inside the example file.
Description | Example code |
---|---|
Python code to access Metadata API using session directly | metadata_api_example.py |
会话应在启动时自动获取令牌,并在令牌过期时续订它。
Session还将使用可选的verification_url
在构造函数中验证自己,从而允许您在失败时提前终止。在
配置
会话配置详细信息可以在docstringhere中找到
实施细节
- 在
库使用
在pip-compile
和{}来管理和固定需求。测试要求保存在单独的 test_rquirements.in
中。在 - 在
这个库使用Makefile来管理版本的构建、打包和上传,以及运行测试、编译需求等的许多捷径。在
在 - 在
这个库是由github actions构建和测试的。在
在 - 在
该包由github actions准备并上载到PyPi。在
在 - 在
该库默认为ADAL,可以告诉您使用MSAL作为选项。在
在 - 在
提供库所依赖的OAuth2兼容性
在
测试
配置环境变量
导出以下环境变量(使用以前替换的值):
- 来自壳牌公司:
- 或将env变量添加到Pycharm或其他IDE(使用先前添加的值):
INTEGRATION_TENANT=tenant;INTEGRATION_CLIENT_ID=id;INTEGRATION_CLIENT_SECRET=secret;INTEGRATION_RESOURCE=resourse;INTEGRATION_AUTHORITY_HOST_URL=authority;INTEGRATION_LIVE_VERIFICATION_URL=verification;INTEGRATION_LIVE_VERIFICATION_ELEMENT=element;
- 或使用
.env
文件:
INTEGRATION_TENANT=tenant INTEGRATION_CLIENT_ID=id INTEGRATION_CLIENT_SECRET=secret INTEGRATION_RESOURCE=resourse INTEGRATION_AUTHORITY_HOST_URL=authority INTEGRATION_LIVE_VERIFICATION_URL=verification INTEGRATION_LIVE_VERIFICATION_ELEMENT=element
运行测试
make test
许可证
有关详细信息,请参阅LICENSE文件。requests_ms_auth是根据GNU AFFERO通用公共许可证授权的,并且具有G-Faps。在
历史
这个项目源于latigo项目的需要。在
待办事项
- 检查MSAL方法是否有效
- 对关键部位进行试验
- 清除Makefile
- 处理代码中的待办事项
- 为examples dir启用mypy。在
- 项目
标签: