Eve JWT authentication
Project description
An OAuth 2 JWT token validation module for Eve.
Installation
To install eve-auth-jwt, simply:
$ pip install eve-auth-jwt
At Eve initialization:
from eve import Eve from eve_auth_jwt import JWTAuth app = Eve(auth=JWTAuth, settings=SETTINGS)
Configuration
This module reads its configuration form Eve settings. Here is the list of new directives:
JWT_SECRET (required): Defines the symetric secret token secret used to de/encode the token (async keys support is a TODO).
JWT_ISSUER (required): Defines the required token issuer (iss claim).
JWT_AUDIENCES: Defines a list of accepted audiences (aud claim). If not provided, only tokens with no audience set will be accepted. The resource level audiences parameter is also available.
JWT_ROLES_CLAIM: Defines the claim name for roles. If set, Eve roles check will be activated, and any resources with allowed_roles set will require to have those roles present in the defined token’s claim.
JWT_SCOPE_CLAIM: Defines the claim name for scope. If set and the token has a claim of the same name containing the string viewer, only GET and HEAD methods will be granted. All other values are ignored and added to the list of exposed roles with the scope: prefix.
Reading Roles
If access is granted, the authentication module exposes roles and token’s claims thru get_authen_roles() and get_authen_claims() methods. You may access those values from your event hook as follow:
def my_hook(...) resource_def = app.config['DOMAIN'][resource_name] auth = resource_def['authentication'] if 'somerole' in auth.get_authen_roles(): # grant some finer access
Licenses
All source code is licensed under the MIT License.
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
Built Distribution
File details
Details for the file eve-auth-jwt-1.0.2.tar.gz
.
File metadata
- Download URL: eve-auth-jwt-1.0.2.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 365134a0b797eae16bb837dad9fddd990f23dba73d53da00cb5c415c19d2483a |
|
MD5 | 3adbe94ddff0d610e77d530f04c06bd7 |
|
BLAKE2b-256 | 8e445f9f792c1ef941ff30ce16d9eb9a9f42d3c36ae66747131744bae82b1921 |
File details
Details for the file eve_auth_jwt-1.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: eve_auth_jwt-1.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d3392d776ac060c06c491f825061938f66d5f9cc8ab4507837c29390e76cbf6 |
|
MD5 | 99d7ad3715ab3cea840a937c0ef0a35a |
|
BLAKE2b-256 | 50ce5f9a0b18c6516a96b48aca1065febbbd12321de5ceea4dd8fc4d809e9a9f |