A python JWT validator that does all the BYU specific stuff as well.
Project description
# byu-jwt-python
A python JWT validator that does all the BYU specific stuff as well.
# Installation
`pip install byu_jwt`
## API
### How to Validate a JWT
```
import byu_jwt
try:
byu_jwt.decode(jwt_to_validate)
# valid JWT
except Exception:
# invalid JWT
```
### JWT Header Names
BYU's API Manager creates an HTTP header that contains a signed [JWT](https://jwt.io/). The names of the designed BYU signed headers can be referenced here for lookup convenience.
### BYU_JWT_HEADER_CURRENT
The property containing the name of the HTTP header that contains the BYU signed JWT sent directly from BYU's API Manager.
Value is X-JWT-Assertion.
Example
```
import byu_jwt
current_jwt_header = byu_jwt.BYU_JWT_HEADER_CURRENT
```
### BYU_JWT_HEADER_ORIGINAL
The property containing the name of the HTTP header that contains the BYU signed JWT forwarded on from a service that received the BYU signed JWT sent directly from BYU's API Manager.
Value is X-JWT-Assertion-Original.
Example
```
import byu_jwt
original_jwt_header = byu_jwt.BYU_JWT_HEADER_ORIGINAL
```
## Testing
You will need a file named ~/.byu/byu-jwt-python.yaml with the following contents. Get your info at https://api.byu.edu/store/site/pages/subscriptions.jag
```
client_id: <your WSO2 application's Consumer Key>
client_secret: <your WSO2 application's Consumer Secret>
```
Make sure you have python and python3 installed on your system, then install virtualenv in whatever way you install python modules (usually `$ pip install virtualenv`).
```
$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements
$ pip3 install -r requirements
$ python byu_jwt.py True
# The 'True' makes the tests run in verbose mode.
# Leaving it off will run the tests silently and they will only print info if any tests fail.
$ python3 byu_jwt.py True
$ deactivate # to get out of the virtualenv
```
A python JWT validator that does all the BYU specific stuff as well.
# Installation
`pip install byu_jwt`
## API
### How to Validate a JWT
```
import byu_jwt
try:
byu_jwt.decode(jwt_to_validate)
# valid JWT
except Exception:
# invalid JWT
```
### JWT Header Names
BYU's API Manager creates an HTTP header that contains a signed [JWT](https://jwt.io/). The names of the designed BYU signed headers can be referenced here for lookup convenience.
### BYU_JWT_HEADER_CURRENT
The property containing the name of the HTTP header that contains the BYU signed JWT sent directly from BYU's API Manager.
Value is X-JWT-Assertion.
Example
```
import byu_jwt
current_jwt_header = byu_jwt.BYU_JWT_HEADER_CURRENT
```
### BYU_JWT_HEADER_ORIGINAL
The property containing the name of the HTTP header that contains the BYU signed JWT forwarded on from a service that received the BYU signed JWT sent directly from BYU's API Manager.
Value is X-JWT-Assertion-Original.
Example
```
import byu_jwt
original_jwt_header = byu_jwt.BYU_JWT_HEADER_ORIGINAL
```
## Testing
You will need a file named ~/.byu/byu-jwt-python.yaml with the following contents. Get your info at https://api.byu.edu/store/site/pages/subscriptions.jag
```
client_id: <your WSO2 application's Consumer Key>
client_secret: <your WSO2 application's Consumer Secret>
```
Make sure you have python and python3 installed on your system, then install virtualenv in whatever way you install python modules (usually `$ pip install virtualenv`).
```
$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements
$ pip3 install -r requirements
$ python byu_jwt.py True
# The 'True' makes the tests run in verbose mode.
# Leaving it off will run the tests silently and they will only print info if any tests fail.
$ python3 byu_jwt.py True
$ deactivate # to get out of the virtualenv
```
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
byu_jwt-1.1.1.tar.gz
(2.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file byu_jwt-1.1.1.tar.gz.
File metadata
- Download URL: byu_jwt-1.1.1.tar.gz
- Upload date:
- Size: 2.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56c384e8d3eecbb7a91fff6f17e037d9b78b01708df68aa53b37545b77991397
|
|
| MD5 |
e657b6322d9e88c0bdb0b0dffc6db39f
|
|
| BLAKE2b-256 |
a7efc87e5d7dedbbe0974be56cf9cd8bdf4821480cb8323ed9dbd7eac10c2303
|
File details
Details for the file byu_jwt-1.1.1-py3-none-any.whl.
File metadata
- Download URL: byu_jwt-1.1.1-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c315d156a6eacf64e7f2bd8c491f2885873bd60ee1abdd521f7a08ffca3f7e66
|
|
| MD5 |
78581999387315422747c5c8457e029a
|
|
| BLAKE2b-256 |
19f8196bc93946951c6d0cd0e20711c85d8512e4e8a6f6eb69defbeae032130c
|