DjangoとFastAPIによる実践認証技術
本発表では、Pythonの主要なWebフレームワークであるDjangoとFastAPIを使用しての認証技術に焦点を当てており、それぞれの認証技術の仕組みや開発時のベストプラクティスについて解説します。
本発表ではSPA + WebAPI構成でのバックエンドのRESTful APIにおける認証技術の概要、種類、そしてその実装方法について詳細に解説します。メールアドレスとパスワードによる一般的なログイン認証について重点的に説明し、OAuthなどについては扱いません。
発表の前半では、認証の基本概念と仕組みについて説明します。
認証の基本的な知識であるステートレスとステートフル認証の違いとそのメリット・デメリットについてもお話しします。
特に、ステートレス認証のトークン管理の実際の手法や、セキュリティ上の考慮事項についても深堀りします。
次に、DjangoとFastAPIそれぞれのフレームワークでの認証部分の実装方法を具体的なコード例とともに紹介します。
Djangoでは、トークンベースの認証、JWT(JSON Web Token)を利用した仕組みや実装についても触れ、デフォルトの認証機構との違いについてもお話しします。
また、django-ninjaやdjango-restframeworkなどのプラグインを使用した際のそれぞれの認証の内部仕組みや違いについても詳述します。一方、FastAPIでは、JWTを用いた認証の実装方法を中心に説明します。
最後に、これらの技術を組み合わせたシステム設計のベストプラクティスと、現場での実際の適用例についてもお話しします。