概要

djangoでJWTを使おうと思い、djangorestframework-jwtを使ってみました。

以下のサイトなどを参考にすすめてみました。

ただし、'rest_framework_jwt.authentication.JSONWebTokenAuthentication'を記述したところで、以下のエラーが発生しました。

ImportError: cannot import name 'smart_text' from 'django.utils.encoding'

調べたところ、以下の記事が見つかりました。

かわりにdjangorestframework-simplejwtを使え、とのことでした。

以下、こちらの使い方についてメモを残します。

djangorestframework-simplejwt

以下のページを参考にすることで、動作確認を行うことができました。

Postman

usernameとpasswordを使って、以下にpostします。

http://localhost:8000/api/token/

結果、refreshaccessが得られます。

このaccessのほうの値を使用して、HeaderにAuthorizationを設定して送ります。Bearer [jwt]の形式で送ることで、apiを利用できました。

まとめ

djangoでJWTを使う際の参考になりましたら幸いです。


動画版(生成AIによる自動生成): この記事の内容をずんだもん×四国めたんの掛け合いで解説しています。自動生成のため、内容に誤りがある可能性があります。正確な情報は記事本文をご参照ください。