Pre-alpha, do not use. Provides Flask with *very basic* JavaScript Web Tokens
Project description
Flask JWT Trivial
Pre-alpha, do not use! Use Flask JWT Extended instead.
About
Only bearer tokens are supported, no other methods.
The only valid algorithms for create_access_token()
are HS256
, HS384
, or HS512
. The default is HS256
.
Installation
Install into a virtual environment:
virtualenv --python python3 venv
source venv/bin/activate
pip install flask-jwt-trivial
Example usage
First, generate a token and send it to the user. For them to access private routes, they must present that token as a bearer token, using the Authorization
header, which will look something like this:
Authorization: Bearer <token-here>
Simple example follows. Note, it is up to you to manage the tokens, revoking them, checking expiry, etc.
from flask import Flask, jsonify, abort
from flask_jwt_trivial import Flask_JWT_Trivial
app = Flask(__name__)
# Don't actually put this in your source code.
# Maybe read it from an environment variable.
passphrase = "VERY-SECRET-PASSPHRASE"
# Initialise your Flask app like so:
flask_jwt_trivial = Flask_JWT_Trivial()
flask_jwt_trivial.init_app(
app,
passphrase=passphrase
)
@app.route("/private")
@flask_jwt_trivial.jwt_required
def private():
return "Your token worked."
def authorised_to_receive_a_token():
# Put your logic here, e.g. check the Flask
# request and look up details in a database.
if ok:
return True
else:
return False
@app.route("/get_token")
def get_token():
if not authorised_to_receive_a_token():
abort(401) # Unauthorized
token = flask_jwt_trivial.create_access_token()
return jsonify(
"data": {
"type": "tokens",
"attributes": {
"token": token,
"category": "Bearer",
}
}
)
Options for flask_jwt_trivial.init_app()
are:
app
: Compulsory first arg, the Flask app.algorithm
: Optional. String. Algorithm used to encode/decode. Defaults to"HS256"
.algorithms
: Optional. List. Valid algorithms. Defaults to["HS256","HS384","HS512"]
.audience
: Optional. String. JWTaud
parameter.issuer
: Optional. String. JWTiss
parameter, e.g. your organisation.retfunc
: Optional. A function that will be called on return. Useful if you want to capture the returned data and do something with it first.
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
File details
Details for the file flask_jwt_trivial-0.0.3.tar.gz
.
File metadata
- Download URL: flask_jwt_trivial-0.0.3.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fb98bc671f004ddb1ebecb98f10034ee2c440d100066c09916fa4cf502e4532 |
|
MD5 | f5f2d95eda503fd116fbc9151295da6b |
|
BLAKE2b-256 | 190a056525261dddd8daafbcf51f68285844f7d08619bbd06201fe07e3f989cd |
File details
Details for the file flask_jwt_trivial-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: flask_jwt_trivial-0.0.3-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b603acee8954a4361603e2bf9e339756252ada79ca9488626431b63e9004c74 |
|
MD5 | 8a918d9b6f7266f86f7c72a0bb5ee266 |
|
BLAKE2b-256 | 5ad8f4f73156f5bd28b88996ec22ffe943b4024612766421618221cc684954e9 |