Skip to content

feat: JWT ์ƒ์„ฑ๊ณผ ํ”„๋ก ํŠธ ์ „๋‹ฌย #6

@baexxbin

Description

@baexxbin

์–ด๋–ค ๊ธฐ๋Šฅ์ธ๊ฐ€์š”?

  • Authenticationย ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๊ณ  JWT ์ƒ์„ฑ
  • ํ”„๋ก ํŠธ์—์„œ ๋กœ๊ทธ์ธ์ด ๋˜์—ˆ๋‹ค๊ณ  ์ฒ˜๋ฆฌํ•ด์„œ ๋กœ๊ทธ์ธ๋œ ์ƒํƒœ ์œ ์ง€ํ•˜๊ธฐ

์ž‘์—… ์ƒ์„ธ ๋‚ด์šฉ

  • ์†Œ์…œ ๋กœ๊ทธ์ธ ์„ฑ๊ณต ํ›„ ์–ป์€ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ JWT ์ƒ์„ฑ
    • TokenService ๊ตฌ์„ฑ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ TokenAuthenticationFilter, AuthController์ˆ˜์ •
    • ํ”„๋ก ํŠธ์—๊ฒŒ ๋ณด๋‚ผ ์ฟ ํ‚ค httpOnly ์ฟ ํ‚ค๋กœ ์„ค์ •ํ•˜๊ธฐ
  • ์„œ๋ฒ„์—์„œ ๋งŒ๋“  JWT ํ”„๋ก ํŠธ๋กœ ์ „๋‹ฌํ•˜๊ธฐ
    • ํ”„๋ก ํŠธ์—์„œ jwt๋ฅผ localStorage๊ฐ€ ์•„๋‹Œ ์ฟ ํ‚ค๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๋กœ ์ˆ˜์ •ํ•˜๊ธฐ

๋‚ด ์ฝ”๋“œ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ์ •๋ณด

  • JWT ๋งŒ๋“ค๊ธฐ
    • TokenProvider
      • Jwt์˜ ์ƒ์„ฑ ๋ฐ ๊ฒ€์ฆ๋งŒ ์ฒ˜๋ฆฌ
    • TokenService
      • TokenProvider๋ฅผ ํ™œ์šฉํ•ด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„
      • Authenticationย ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„ ์•ก์„ธ์Šค ํ† ํฐ๊ณผ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ƒ์„ฑ
      • Redis์˜ ์—ญํ• 
        • ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์ €์žฅ
        • ํ† ํฐ ๋งŒ๋ฃŒ ์ฒ˜๋ฆฌ

์ฐธ๊ณ ํ• ๋งŒํ•œ ์ž๋ฃŒ(์„ ํƒ)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions