healthybamboo / zenn

zennのブログ
https://zenn.dev/tkr923
0 stars 0 forks source link

SpringBootとNext.jsで認証機能を作成する #24

Open healthybamboo opened 3 months ago

healthybamboo commented 3 months ago

ポイント

やること

Design

jwt

payload

{
  "iat": "<トークン発行者>",
  "sub" : "<トークンの発行者>"
  "exp" : "<トークンの期限>"
}

SpringBoot

POST: /api/login

送信データ

{
   "username": "<ユーザー名>",
   "password": "<パスワード>"
}

返信データ(ログイン成功時)

{
  "token": "<JWTのトークン>"
}

返信データ(ログイン失敗時)

{
  "error" : "failed login"
}

GET: /api/public/hello

認証の必要のないアクセス

受信データ

{ 
  "message" : "hello public"
}

GET: /api/private/hello

認証の必要が必要なアクセス

受信データ(認証成功時)

{
  "message" : "hello private"
}

受信データ(認証失敗時)

{
  "error" : "invalid token"
}

Next.js

/login

初期

フォームの送信

フォーム送信後

/private

/public

作業場所

https://github.com/healthybamboo/auth_demo

参考文献

github-actions[bot] commented 3 weeks ago

Branch new/#24_create_authentication_feature_with_springboot_and_nextjs has been created.