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.16.dev1652457499.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oktagon_python-0.0.16.dev1652457499-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file oktagon-python-0.0.16.dev1652457499.tar.gz.

File metadata

  • Download URL: oktagon-python-0.0.16.dev1652457499.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/5.13.0-1022-azure

File hashes

Hashes for oktagon-python-0.0.16.dev1652457499.tar.gz
Algorithm Hash digest
SHA256 6b8bedfd67fe3c854fa84ed0e21a38f0f388e7713b166274642949c923e43a79
MD5 cd63774b298a7d9b25967b4e4df11032
BLAKE2b-256 2cf9c39b65035f27bb0e5e354e9d459ccab28f43c7a9288941a36ee95d55e1f0

See more details on using hashes here.

File details

Details for the file oktagon_python-0.0.16.dev1652457499-py3-none-any.whl.

File metadata

File hashes

Hashes for oktagon_python-0.0.16.dev1652457499-py3-none-any.whl
Algorithm Hash digest
SHA256 ef0e9a09b577c3e48d484db804212e485ba0255eecfa3d53f3ce31457bfc95d3
MD5 1d7f50c9774e0b4d397dff969e1ba104
BLAKE2b-256 d99da9ecc0b809ba402ff01ac021ac559f90d0941991c6e9f301e56c30c83f71

See more details on using hashes here.

Supported by

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