Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

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
```


Release History

Release History

This version
History Node

1.1.3

History Node

1.1.2

History Node

1.1.1

History Node

1.1.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
byu_jwt-1.1.3-py3-none-any.whl (12.5 kB) Copy SHA256 Checksum SHA256 py3 Wheel Nov 3, 2017
byu_jwt-1.1.3.tar.gz (5.4 kB) Copy SHA256 Checksum SHA256 Source Nov 3, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting