0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Django(Python)のユーザー認証、SimpleJWTを知ろう!

Posted at

こんにちは
今回はDjangoのSimpleJWTについてです!

そもそもJWTってなに?

JWT(JSON Web Token)は、ユーザーの認証情報を安全にやり取りするための仕組みです。
これを使うことで、サーバーにセッション情報を保存せずに、クライアント側(ユーザーのブラウザなど)で認証を行うことができます!

どうやって使われるの?

1. ユーザーがログインをする

ユーザーが自分のユーザー名とパスワードを使用してログインしようとします。
この情報をサーバーに送信すると、サーバーは情報が正しいか確認します。

2. トークンを取得する

ユーザー情報が正しければ、サーバーはユーザーに「アクセストークン」と「リフレッシュトークン」を返します。

  • アクセストークン:APIリクエストに使用する短期間のトークン
  • リフレッシュトークン:アクセストークンが期限切れになったときに新しいトークンを取得するために使うトークン

3. APIを利用する

ユーザーは取得したアクセストークンを使用してAPIにアクセスします。(APIにリクエストを送るときは、アクセストークンをヘッダーに含めます)
サーバーはこのトークンを確認して、ユーザーがそのリソースにアクセスできるか判断します。

4. トークンの更新

アクセストークンには有効期限があるため、期限が切れる前にリフレッシュトークンを使用して新しいアクセストークンを取得します。
これにより、ユーザーは再度ログインすることなく、継続的にAPIを利用できます。

ログアウト方法について

ユーザーがログアウトしたい場合、サーバーに「ログアウト」リクエストを送ります。
サーバーはそのリクエストに対して、関連するトークンを無効にします。(ブラックリストに追加するなど)

まとめ

DjangoのSimpleJWTを使った認証は、シンプルかつ効率的な認証を行えます。セッション情報を持たないため、特にスケーラブルなアプリケーションにはおすすめです!


参考:SimpleJWT公式ドキュメント

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?