dbflute-example / dbflute-example-on-quarkus

example for DBFlute on Quarkus (with MySQL)
0 stars 0 forks source link

Create Login Api and MyPage Api #13

Closed miyasama closed 2 months ago

miyasama commented 2 months ago

概要

認証のサンプルを実装し、以下の2つのAPIを追加しました。

また、サンプル実装上では活用されていないのですが、 AccessContextInterceptorを作成し、 DBFluteのAccessContextをセットアップするように実装を追加しました。

詳細

認証にはJWTを使っています。 QuarkusのJWT認証に関しては、以下のあたりが参考資料です。

https://ja.quarkus.io/guides/security-jwt-build https://ja.quarkus.io/guides/security-jwt

/auth/signinでログイン実行すると、レスポンスでJWT(トークン)が取得できます。 /mypage/productsへリクエストする際に、Bearer認証でJWTを設定すると認証成功してリクエストが通ります。 ※ Authrizationヘッダーに、Bearer ${取得したJWT} を設定してリクエストします。

/mypage/productsのControllerでは、SecurityContextから、 JWTに含まれるユーザーIDを取得できます。