Skip to main content

Tokko Auth2 flavor.

Project description

Install

Install DjangoPlugin Package

pip install -e git@github.com:TokkoLabs/authorization.git

Import & Configure dj-plugin

your-project/settings.py

# Add app to installed apps
INSTALLED_APPS = [
    'tokko-auth'
]

# Also add declare app's middleware
MIDDLEWARE = [
    # Has request JWT?
    "tokko-auth.middleware.HasJWTMiddleware",
    # JWT has required NAMESPACE?
    "tokko-auth.middleware.NamespaceAuthorizationMiddleware",
    # Fill "request.user" attribute
    "tokko-auth.middleware.UserRecoverMiddleware",
]

# Finally, declare your AUTH0_DOMAIN
AUTH0_DOMAIN = 'my-auth-sub-dns.auth0.com'

Usage

API required NAMESPACE

your-project/settings.py

# API required NAMESPACE
AUTH_API_NAMESPACE = 'my-service-namespace'

View & Mutation required SCOPES

Resticciones de acceso basado en scopes para la view some_ufo_secrets.

from authorization.decorators import has_permission

# Require todos los scopes
@has_permission('x-files:agent', 'alien:believer', has_all=True)
def some_ufo_secrets(request):
    ...

# Al menos un scope
@has_permission('scully:agent', 'mulder:agent', at_least_one=True)
def some_ufo_secrets(request):
    ...

Settings

Environment Vars

Esta aplicación observa un conjunto de variables de entorno configurables, las cuales pueden modificar drásticamente su funcionamiento.

Required

Name Description Type Default
AUTH0_DOMAIN Auth0 Domain. Ej: {my-project}.auth.com. Si esta variable no esta correctamente configurada, se emitirá un exception EnvVarNotInitialized String -

Optional

Name Description Type Default
AUTH_FAIL_SAFE_ENABLE Remueve errores de validación Boolean False
AUTH_USERINFO_ENABLE Agrega /userinfo data al request.user Boolean False
AUTH_API_NAMESPACE Scopes requeridos a nivel API, estos se validaran en cada request List [ ]
AUTH_BEAUTIFY_ERROR_RESPONSE Formatea los errors a JSONResponse, se auto-deshabilita sobre GQL Boolean False
AUTH_FULL_DISABLED Desactiva validacion de Auth Boolean False
AUTH_ALLOW_PRODUCTIVE_SHUTDOWN Permite desactivar la validacion de Auth en productivo Boolean False
SAMPLES_ARE_ENABLE Agrega Views, Mutation & Queries de ejemplo Boolean True

Testing

Local environment

Unit Test

python manage.py test authorization.tests.unit

Service Test

python manage.py test authorization.tests.service

Docker environment

Unit Test

# Require: docker-compose up [-d] [--build]
docker-compose exec app bash -c "python manage.py test authorization.tests.unit"

Service Test

# Require: docker-compose up [-d] [--build]
docker-compose exec app bash -c "python manage.py test authorization.tests.service"

Glossary

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to project.

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

django-tokko-auth-0.0.3.tar.gz (12.6 kB view details)

Uploaded Source

File details

Details for the file django-tokko-auth-0.0.3.tar.gz.

File metadata

  • Download URL: django-tokko-auth-0.0.3.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.0

File hashes

Hashes for django-tokko-auth-0.0.3.tar.gz
Algorithm Hash digest
SHA256 43d1d51a02a79d18d2b948a925224758384ebe978660a7cba98b7e38a89aea1e
MD5 d3e59dc261d320cb949160d10c4eb1df
BLAKE2b-256 a185c3d98bbce43d6109734f549022d132951bce6d1ad8e001f841e445e93e11

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