跳转到主要内容

Python工具包,用于验证和解码OKTA令牌

项目描述

oktagon-python

PyPI

这个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

将在写入模式下运行所有格式化器(如blackisortpylint)。

make pretty-check

将以检查模式运行格式化和检查工具。

您也可以单独运行它们,使用make blackmake isortmake pylint

版本发布

将PR合并到main分支将触发GitHub release工作流。
以下GitHub动作将被触发

项目详情


下载文件

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

源分布

oktagon-python-0.0.18.tar.gz (22.6 kB 查看哈希)

上传时间

构建分布

oktagon_python-0.0.18-py3-none-any.whl (5.0 kB 查看哈希)

上传时间 Python 3

由以下机构支持