Python implementation of the Atlassian Service to Service Authentication specification.
Project description
# Atlassian JWT authentication
This package provides an implementation of the [Service to Service Authentication](https://extranet.atlassian.com/display/I/Service+to+Service+Authentication+-+Specification) specification.
----
## Using this library
### To create a JWT for authentication
```python
import atlassian_jwt_auth
signer = atlassian_jwt_auth.create_signer('issuer', 'issuer/key', private_key_pem)
a_jwt = signer.generate_jwt('audience')
```
### To create a JWT using a file on disk in the conventional location
Each time you call `generate_jwt` this will find the latest active key file (ends with `.pem`) and use it to generate your JWT.
```python
import atlassian_jwt_auth
signer = atlassian_jwt_auth.create_signer_from_file_private_key_repository('issuer', '/opt/jwtprivatekeys')
a_jwt = signer.generate_jwt('audience')
```
### To verify a JWT
```python
import atlassian_jwt_auth
public_key_retriever = atlassian_jwt_auth.HTTPSPublicKeyRetriever('https://example.com')
verifier = atlassian_jwt_auth.JWTAuthVerifier(public_key_retriever)
verified_claims = verifier.verify_jwt(a_jwt, 'audience')
```
## Installation
To install simply run
```
$ pip install atlassian-jwt-auth
```
### CI builds
This project uses travis ci for builds.
[![Build Status](https://travis-ci.org/atlassian/asap-authentication-python.svg?branch=master)](https://travis-ci.org/atlassian/asap-authentication-python)
This package provides an implementation of the [Service to Service Authentication](https://extranet.atlassian.com/display/I/Service+to+Service+Authentication+-+Specification) specification.
----
## Using this library
### To create a JWT for authentication
```python
import atlassian_jwt_auth
signer = atlassian_jwt_auth.create_signer('issuer', 'issuer/key', private_key_pem)
a_jwt = signer.generate_jwt('audience')
```
### To create a JWT using a file on disk in the conventional location
Each time you call `generate_jwt` this will find the latest active key file (ends with `.pem`) and use it to generate your JWT.
```python
import atlassian_jwt_auth
signer = atlassian_jwt_auth.create_signer_from_file_private_key_repository('issuer', '/opt/jwtprivatekeys')
a_jwt = signer.generate_jwt('audience')
```
### To verify a JWT
```python
import atlassian_jwt_auth
public_key_retriever = atlassian_jwt_auth.HTTPSPublicKeyRetriever('https://example.com')
verifier = atlassian_jwt_auth.JWTAuthVerifier(public_key_retriever)
verified_claims = verifier.verify_jwt(a_jwt, 'audience')
```
## Installation
To install simply run
```
$ pip install atlassian-jwt-auth
```
### CI builds
This project uses travis ci for builds.
[![Build Status](https://travis-ci.org/atlassian/asap-authentication-python.svg?branch=master)](https://travis-ci.org/atlassian/asap-authentication-python)
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
atlassian-jwt-auth-2.1.0.tar.gz
(10.9 kB
view hashes)
Built Distribution
Close
Hashes for atlassian_jwt_auth-2.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75dfb7ce7bf4bf9200a9f0af9de5436eca5eeb4f34589cca788c2db2b1f8cbe6 |
|
MD5 | 953ef9900f48359a55c95ff7c69c3770 |
|
BLAKE2b-256 | 789d3c97e36239cba26ac0a52d791a30b560b95b14f86d4c9e7cd555d03eded4 |