Python utility package for verifying & decoding OKTA tokens
Project description
oktagon-python
This python package is a tiny utility for verifying & decoding OKTA tokens in python backend services.
Installation
pip install oktagon-python
Getting Started
Let's say you have /consignments REST API endpoint which you'd like to make accessible only by logistics OKTA group. Then you would write something like this:
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
)
This will create an AuthorisationManager
instance that will check user's
authorisation.
Contributing
git clone https://github.com/madedotcom/oktagon-python.git
cd oktagon-python
make install
make tests
This will install all the dependencies (including dev ones) and run the tests.
Run the formatters/linters
make pretty
Will run all the formatters and linters (black
, isort
and pylint
) in write mode.
make pretty-check
Will run the formatters and linters in check mode.
You can also run them separtly with make black
, make isort
, make pylint
.
Realeses
Merging a PR into the main
branch will trigger the GitHub release
workflow.
The following GitHub actions will be triggered:
- github-tag-action will bump a new
tag with
patch
version by default. Add#major
or#minor
to the merge commit message to bump a different tag; - gh-action-pypi-publish will push the newly built package on PyPI;
- action-automatic-releases
will create the GitHub release and tag it with
latest
as well.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for oktagon_python-0.0.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8a314baa2b5c6610e8614ecf62442c03f57bd51f16e01152621e7a49d8d45d1 |
|
MD5 | 7b0b6be67c3a564da7fdaba7cf9363cc |
|
BLAKE2b-256 | f07a029e3572b1c7b691531a2855417b0bec2a862f28fb884af55152cb6b3b95 |