Python工具包,用于验证和解码OKTA令牌
项目描述
oktagon-python
这个Python包是一个小巧的实用工具,用于验证和解码Python后端服务中的OKTA令牌。
安装
pip install oktagon-python
入门
假设您有一个/consignments REST API端点,您希望仅通过物流OKTA组访问。然后您可以写点像这样的事情
import os
from oktagon_python.authorisation import AuthorisationManager
from starlette.requests import Request
auth_manager = AuthorisationManager(
service_name="your_service_name",
okta_issuer=os.environ.get("OKTAGON_OKTA_ISSUER"),
okta_audience=os.environ.get("OKTAGON_OKTA_AUDIENCE"),
)
async def is_authorised(request: Request):
return await auth_manager.is_user_authorised(
allowed_groups=["logistics"],
resource_name="consignments",
cookies=request.cookies
)
这将创建一个AuthorisationManager
实例,该实例将检查用户的授权。
获取用户电子邮件
在AuthorisationManager上有一个名为get_user_email
的异步方法,用于检索用户的电子邮件。用法
from starlette.requests import Request
cookies: Request.cookies = request.cookies
email = await auth_manager.get_user_email(cookies)
贡献
git clone https://github.com/madedotcom/oktagon-python.git
cd oktagon-python
make install
make tests
这将安装所有依赖项(包括开发依赖项),并运行测试。
运行格式化器和检查器
make pretty
将在写入模式下运行所有格式化器(如black
、isort
和pylint
)。
make pretty-check
将以检查模式运行格式化和检查工具。
您也可以单独运行它们,使用make black
、make isort
、make pylint
。
版本发布
将PR合并到main
分支将触发GitHub release
工作流。
以下GitHub动作将被触发
- github-tag-action默认使用
patch
版本号增加新标签。在合并提交信息中添加#major
或#minor
以增加不同的标签; - gh-action-pypi-publish将新构建的包推送到PyPI;
- action-automatic-releases将创建GitHub发布并使用
latest
标签。
项目详情
关闭
oktagon-python-0.0.18.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2d62639021f1eabf7aaf38e313e5207fe1a830e0e3029cf36f04d64b52e8f786 |
|
MD5 | fe1e006512002e39047ee7749a32f600 |
|
BLAKE2b-256 | 3949a803c696970e4ae2502fb53d9d32db79d5db00c854fe43e372232d20c2b6 |
关闭
oktagon_python-0.0.18-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b0095c010e703d0b6d6b4c727dfb3d4f2b49cf052b1365ea23d3cdabd8257eed |
|
MD5 | f199c2c35c1b836573bb18999e70d581 |
|
BLAKE2b-256 | 9949ae22aa342268a87a4fc158116d988e0f257db5dcbf43c4126b852b84ce35 |