JWT認証 - novel-suzukikeisuke/study GitHub Wiki

処理の流れ(ログインからチャットを送信するまでの流れ)

  • 秘密鍵
    • app.config['JWT_SECRET_KEY'] = os.getenv('JWT_SECRET_KEY')
      • 環境変数からJWT_SECRET_KEYを設定
  • ログイン
    • DB(Userテーブル)に登録しているユーザーの名前とパスワードをチェック
    • create_access_token(identity=user.id)を実行し、トークンを付与する
      • create_access_token() : 新しいアクセストークンを作成
      • identity=user.id : トークンのアイデンティティ(user.id)を指定
        • JWTの署名には、アプリケーションだけが持っている秘密鍵を使用する
  • チャット
    • @jwt_required() : エンドポイントを呼び出す前に、リクエスト内に有効なJWTが存在しているか検証
      • 秘密鍵を使って、JWTが有効か検証
    • user_id = get_jwt_identity() : エンドポイントにアクセスしているJWTのアイデンティティを返す

参考サイト