ch09
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
# jwt/token_rsa.py
|
||||
import jwt
|
||||
from cryptography.hazmat.backends import default_backend
|
||||
from cryptography.hazmat.primitives import serialization
|
||||
|
||||
|
||||
data = {'payload': 'data'}
|
||||
|
||||
|
||||
def encode(data, priv_filename, algorithm='RS256'):
|
||||
|
||||
with open(priv_filename, 'rb') as key:
|
||||
private_key = key.read()
|
||||
|
||||
return jwt.encode(data, private_key, algorithm=algorithm)
|
||||
|
||||
|
||||
def decode(data, pub_filename, algorithm='RS256'):
|
||||
|
||||
with open(pub_filename, 'rb') as key:
|
||||
public_key = key.read()
|
||||
|
||||
return jwt.decode(data, public_key, algorithms=[algorithm])
|
||||
|
||||
|
||||
token = encode(data, 'jwt/rsa/key')
|
||||
data_out = decode(token, 'jwt/rsa/key.pub')
|
||||
print(data_out)
|
||||
Reference in New Issue
Block a user