React / Next.js

Next.js Middleware ๋ฐ Auth

Middleware, NextAuth.js, JWT, ์„ธ์…˜ ๊ด€๋ฆฌ, ๋ณดํ˜ธ๋œ ๋ผ์šฐํŠธ, RBAC

22 ๋ฉด์ ‘ ์งˆ๋ฌธยท
Mid-Level
1

Next.js์—์„œ middleware๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๋‹ต๋ณ€

Next.js middleware๋Š” ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๋˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ๋กœ, ์‘๋‹ต์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธํ•˜๊ฑฐ๋‚˜ headers๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์ ์˜ ์„ฑ๋Šฅ์„ ์œ„ํ•ด Edge Runtime์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ธ์ฆ, ์ง€๋ฆฌ์  ์œ„์น˜ ํ™•์ธ ๋˜๋Š” logging์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

2

App Router๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Next.js ํ”„๋กœ์ ํŠธ์—์„œ middleware ํŒŒ์ผ์€ ์–ด๋””์— ๋ฐฐ์น˜ํ•˜๋‚˜์š”?

๋‹ต๋ณ€

middleware.ts(๋˜๋Š” .js) ํŒŒ์ผ์€ app ํด๋”์™€ ๊ฐ™์€ ๋ ˆ๋ฒจ์ธ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ๋ฐฐ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Next.js๋Š” ์ด ํŒŒ์ผ์„ ์ž๋™์œผ๋กœ ๊ฐ์ง€ํ•˜๊ณ  ๋ชจ๋“  ๋ผ์šฐํŠธ์— ๋Œ€ํ•ด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•ด๋‹น ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ src ํด๋”์— ๋ฐฐ์น˜ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

3

middleware๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ผ์šฐํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ •์˜ํ•˜๋‚˜์š”?

๋‹ต๋ณ€

middleware์˜ matcher ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒฝ๋กœ ํŒจํ„ด์„ ํ†ตํ•ด ํ•ด๋‹น ๋ผ์šฐํŠธ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ middleware๋Š” ์ •์  ํŒŒ์ผ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ผ์šฐํŠธ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. matcher๋Š” ๋Œ€์ƒ ๋ผ์šฐํŠธ๋ฅผ ์ •๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด wildcards์™€ regex๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

4

์ธ์ฆ์— NextAuth.js๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

5

Next.js middleware๋กœ ๋ผ์šฐํŠธ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

+19 ๋ฉด์ ‘ ์งˆ๋ฌธ

๊ธฐํƒ€ React / Next.js ๋ฉด์ ‘ ์ฃผ์ œ

JavaScript ๊ธฐ์ดˆ

Junior
25๊ฐœ ์งˆ๋ฌธ

React ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

React Hooks

Junior
22๊ฐœ ์งˆ๋ฌธ

์ปดํฌ๋„ŒํŠธ ๋ผ์ดํ”„์‚ฌ์ดํด

Junior
18๊ฐœ ์งˆ๋ฌธ

React Router

Junior
20๊ฐœ ์งˆ๋ฌธ

Context๋ฅผ ํ™œ์šฉํ•œ ์ƒํƒœ ๊ด€๋ฆฌ

Junior
18๊ฐœ ์งˆ๋ฌธ

ํผ๊ณผ Controlled Components

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ API

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

React Query (TanStack Query)

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Styling & CSS-in-JS

Mid-Level
18๊ฐœ ์งˆ๋ฌธ

Next.js ๊ธฐ์ดˆ

Mid-Level
25๊ฐœ ์งˆ๋ฌธ

TypeScript์™€ React

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Next.js ๋ฐ์ดํ„ฐ ํŽ˜์นญ

Mid-Level
24๊ฐœ ์งˆ๋ฌธ

Next.js Server Actions

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Next.js ๋ผ์šฐํŒ… ๋ฐ ๋‚ด๋น„๊ฒŒ์ด์…˜

Mid-Level
22๊ฐœ ์งˆ๋ฌธ

Next.js API Routes

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Next.js Metadata & SEO

Mid-Level
18๊ฐœ ์งˆ๋ฌธ

React ํ…Œ์ŠคํŠธ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Zustand State Management

Mid-Level
18๊ฐœ ์งˆ๋ฌธ

React ์„ฑ๋Šฅ ์ตœ์ ํ™”

Senior
22๊ฐœ ์งˆ๋ฌธ

Error Boundaries & ์—๋Ÿฌ ํ•ธ๋“ค๋ง

Senior
18๊ฐœ ์งˆ๋ฌธ

Advanced React Patterns

Senior
20๊ฐœ ์งˆ๋ฌธ

Next.js ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ

Senior
24๊ฐœ ์งˆ๋ฌธ

Next.js ๋ฐฐํฌ ๋ฐ ํ”„๋กœ๋•์…˜

Senior
20๊ฐœ ์งˆ๋ฌธ

์•„ํ‚คํ…์ฒ˜ & ๋””์ž์ธ ํŒจํ„ด

Senior
22๊ฐœ ์งˆ๋ฌธ

React Server Components

Senior
26๊ฐœ ์งˆ๋ฌธ

Next.js ๊ตญ์ œํ™”

Senior
20๊ฐœ ์งˆ๋ฌธ

React ๋ณด์•ˆ & ๋ชจ๋ฒ” ์‚ฌ๋ก€

Senior
22๊ฐœ ์งˆ๋ฌธ

๋‹ค์Œ ๋ฉด์ ‘์„ ์œ„ํ•ด React / Next.js์„ ๋งˆ์Šคํ„ฐํ•˜์„ธ์š”

๋ชจ๋“  ์งˆ๋ฌธ, flashcards, ๊ธฐ์ˆ  ํ…Œ์ŠคํŠธ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์—ฐ์Šต, ๋ฉด์ ‘ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ์ ‘๊ทผํ•˜์„ธ์š”.

๋ฌด๋ฃŒ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ