Python

【TIPS】Pythonのpyjwt(Json Web Token)でエンコード・デコードする方法

pyjwt-encode-decode-usage-sample-code

 

エンジニアライフスタイルブログを運営しているミウラ(@miumiu06171)です。

 

普段はフリーランスでシステムエンジニアをしております。

 

今回は、Pythonのpyjwtライブラリを使ってエンコード(符号化)とデコード(復号化)する方法を紹介していきます。

 

動作確認には、Visual Studio Code (VS Code) を使用しているため、同様に確認したい方は、こちらの記事でVS CodeのPython開発環境を構築してみてください。

 

 

JWTとは

 

JWTとは、JSON形式のペイロードデータをBase64URLエンコードしたものです。

 

逆にJWTからJSON形式のペイロードデータにデコードすることもできます。

 

 

Pythonのpyjwtの使い方

 

Pythonのpyjwtを使って「HS256」というアルゴリズムでJSONのペイロードデータをJWTエンコードしたり、デコードする方法を紹介します。

 

jwt-encode-decode-hs256

 

pyjwtインストール(pip install pyjwt)

 

PythonでJWTを使うためのpyjwtライブラリを以下のpipコマンドでインストールします。

 

 

 

pyjwtエンコード(jwt.encode())

 

pyjwtを使ったJWTエンコードのサンプルコードは、以下の通りです。

 

 

 

JSONのペイロードデータと鍵(key)を準備し、pyjwtのencodeメソッドでJWTトークンを出力できます。

 

エンコードした結果例は、以下のとおりです。

 

 

 

pyjwtデコード(jwt.decode())

 

pyjwtを使ったJWTデコードのサンプルコードは、以下の通りです。

 

 

JWTトークンと鍵(key)を準備し、pyjwtのdecodeメソッドでJSONペイロードにデコードすることができます。

 

デコードした結果例は、以下のとおりです。

 

 

 

動作確認

 

こちらのサイトの「Algorithm」欄に「HS256」、「Encoded」欄に「<JWTトークン>」を入力することで、「Decoded」欄にデコード結果が表示されます。

 

jwt-encode-decode-hs256-example

 

この方法でも動作確認可能なので、ぜひ活用しましょう。

 

 

まとめ

 

いかがでしたでしょうか。

 

PythonでJWTを扱うときの参考にして頂ければと思います。

 

 

【関連記事】

 

【Python】pyjwt(RS256)のエンコード・デコード方法(公開鍵と秘密鍵を使用)

 

【TIPS】Python base64で文字コードのエンコード(符号化)・デコード(復号化)をマスター!