Skip to main content

Python utility package for verifying & decoding OKTA tokens

Project description

oktagon-python

PyPI

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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oktagon-python-0.0.17.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

oktagon_python-0.0.17-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file oktagon-python-0.0.17.tar.gz.

File metadata

  • Download URL: oktagon-python-0.0.17.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.13

File hashes

Hashes for oktagon-python-0.0.17.tar.gz
Algorithm Hash digest
SHA256 41dbb289175c4083ad30d69c0119c9a5c3a1a7055ba611380978e3c3fea9a53e
MD5 55c2c799b1a31b4b570b8ce8cae41a31
BLAKE2b-256 4c9477d12fa19d41a2c38ecec62dfd2bd7bd9eb438044085bf93419eaecc20dd

See more details on using hashes here.

File details

Details for the file oktagon_python-0.0.17-py3-none-any.whl.

File metadata

File hashes

Hashes for oktagon_python-0.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 49e5b1b6de36069b2be544b5b3b799c9b4fa8604210fa0af58ff484578054a6e
MD5 459a0f63010d5767d569e9f8cb019883
BLAKE2b-256 c8db00d557bf1ed5cc7144db4af629db3fcfcdaabfbb0b20bf110e99db9c7e00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page