๐Ÿ’ป ๊ฐœ๋ฐœ ์ผ์ง€/Laravel

[Laravel] Middleware ์•ก์…˜ ์„ค์ •

์ ์ด 2021. 7. 25. 16:24
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

Middleware('auth:api')๋กœ ๋“ค์–ด๊ฐ€์žˆ๋Š” route๋“ค์— ๋Œ€ํ•ด, Middleware์—์„œ ๊ฑธ๋Ÿฌ์กŒ์„ ๋•Œ์— Exception์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ•œ๋‹ค. 

/* routes/api.php */
Route::middleware('auth:api')->group(function(){
	/* Routes.. */
});

 (ํ˜„์žฌ auth์ฒ˜๋ฆฌ๋Š” laravel passport๋ฅผ ํ†ตํ•ด ํ•˜๊ณ  ์žˆ๋‹ค.)

 

ํ•ด๊ฒฐ

Middleware/Authenticate.php ์ˆ˜์ •

Authenticate.php์—๋Š” ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ, ์–ด๋””๋กœ redirect๋˜์–ด์•ผ ํ• ์ง€ ์ •์˜ํ•˜๊ณ  ์žˆ๋‹ค.

๊ธฐ์กด์—๋Š” return route('login')์œผ๋กœ ๋˜์–ด์žˆ์–ด์„œ ๋ฏธ๋“ค์›จ์–ด์—์„œ ๊ฑธ๋Ÿฌ์กŒ์„ ๋•Œ, ์ž๊พธ login route๋ฅผ ์ฐพ์•˜๋˜ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์•„๋ž˜์™€ ๊ฐ™์ด route๋ฅผ ์ˆ˜์ •ํ•ด์ฃผ์—ˆ๋‹ค.

Autenticate.php

์ด ๋•Œ, ์ฃผ์˜ํ•ด์•ผ ํ•  ์ !

์ด ํ•จ์ˆ˜์—์„œ ๋ฐ”๋กœ response๋ฅผ ๋ณด๋‚ด์ง€๋Š” ๋ชปํ•œ๋‹ค. 

์ฒ˜์Œ ์ˆ˜์ •์‹œ return response()->json(); ํ˜•์‹์œผ๋กœ ๋„ฃ์—ˆ๋Š”๋ฐ,

ErrorException: Header may not contain more than a single header, new line detected in file /../vendor/symfony/http-foundation/Response.php on line 359

์ด๋Ÿฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค..ใ… ใ… ใ… ใ… ใ… 

์—ด์‹ฌํžˆ ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ๊นŒ, ์—ฌ๊ธฐ์—๋Š” responseํ˜•์‹์˜ return์ด ์•ˆ๋œ๋‹ค๊ณ  ๋ณด์•„์„œ ๋‹ค๋ฅธ route๋กœ ๋ฐ”๊พธ๊ณ ,

ํ•ด๋‹น route์— ๋Œ€ํ•œ ์•ก์…˜์„ ์„ค์ •ํ•ด์ฃผ๋‹ˆ ๋!


Middleware๋ฅผ ๊ฑด๋“œ๋ ค ๋ณธ์ ์€ ์ฒ˜์Œ์ด์—ˆ๋‹ค.

๊ตฌ๊ธ€๋ง ์—†์ด ๊ทธ๋ƒฅ ๋ฏธ๋“ค์›จ์–ด ํด๋”์— Authenticate.php๋ฅผ ๋งŒ์ง€๋‹ค ๋ณด๋‹ˆ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค..! 

์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ ๋œ ๊ฒƒ ๊ฐ™์•„์„œ ์€ผ๋“ฏ (โ—'โ—ก'โ—)

๋ฐ˜์‘ํ˜•