Encode Decode JWT on Python

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Encode Decode JWT on Python

JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA.

Although JWTs can be encrypted to also provide secrecy between parties, we will focus on signed tokens. Signed tokens can verify the integrity of the claims contained within it, while encrypted tokens hide those claims from other parties. When tokens are signed using public/private key pairs, the signature also certifies that only the party holding the private key is the one that signed it.

 Generate JWT Token



  • Define secret key

  • Example using pyjwt

 import jwt
token = jwt.encode({'user_id': 1}, '12345', algorithm='HS256')

 token      b'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxfQ.0X_1nSfbSETzHhcoeywtv6zXXlQd13M3d0-su89rfvM'


  • Here, 12345 is considered as secret key and HS256 is the algorithm we are using.


Example of Verifying Token

# Assume token is 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxfQ.0X_1nSfbSETzHhcoeywtv6zXXlQd13M3d0-su89rfvM'

jwt.decode(token, '12345', algorithms=['HS256'])
{'user_id': 1}




  • Here, 12345 is secret key.


 

read others article :