Authentication

HTTP์˜ ์ธ์ฆ ์š”๊ตฌ / ์‘๋‹ต ํ”„๋ ˆ์ž„์›Œํฌ

์›น ์—ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ๋ฉด, ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋Œ€์‹ ์— ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฐ™์ด ๊ฐœ์ธ ์ •๋ณด๋ฅผ ์š”๊ตฌํ•˜๋Š” '์ธ์ฆ ์š”๊ตฌ'๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์‹œ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ๋Š” ์ธ์ฆ ์ •๋ณด๋ฅผ ์ฒจ๋ถ€ํ•ด์•ผํ•œ๋‹ค. ์ธ์ฆ์ •๋ณด๊ฐ€ ๋งž์ง€ ์•Š์œผ๋ฉด ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— ๋‹ค์‹œ ์ธ์ฆ์š”๊ตฌ๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜ ์—๋Ÿฌ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋ณธ ์ธ์ฆ ์ ˆ์ฐจ

์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ ์š”๊ตฌ๋ฅผ ๋ณด๋‚ด๋ฉด, ์„œ๋ฒ„๋Š” 401 Unauthorized ์‘๋‹ต๊ณผ ํ•จ๊ป˜ WWW-Authenticate ํ—ค๋”๋ฅผ ๊ธฐ์ˆ ํ•ด์„œ ์–ด๋””์„œ ์–ด๋–ป๊ฒŒ ์ธ์ฆํ• ์ง€ ์„ค๋ช…ํ•œ๋‹ค
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ์ธ์ฆํ•˜๋ ค๋ฉด, ์ธ์ฝ”๋”ฉ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ทธ ์™ธ ์ธ์ฆ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์„ Authorization ํ—ค๋”์— ๋‹ด์•„์„œ ์š”์ฒญ์„ ๋‹ค์‹œ ๋ณด๋‚ธ๋‹ค
์ธ์ฆ์ด ์„ฑ๊ณตํ•˜๋ฉด ์„œ๋ฒ„๋Š” 200 OK๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ Authentication-Infoํ—ค๋”์— ๊ธฐ์ˆ ํ•  ์ˆ˜ ์žˆ๋‹ค

๋ณด์•ˆ ์˜์—ญ

์›น ์„œ๋ฒ„๋Š” ๊ธฐ๋ฐ€๋ฌธ์„œ๋ฅผ ๋ณด์•ˆ ์˜์—ญ(realm) ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. ๋ณด์•ˆ ์˜์—ญ์€ ์ €๋งˆ๋‹ค ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์„ ์š”๊ตฌํ•œ๋‹ค.

๊ธฐ๋ณธ ์ธ์ฆ

Base-64 ์ธ์ฝ”๋”ฉ

์ ˆ์ฐจ์˜ˆ

1. ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค

ID: brian-totty / PW: Ow!

2. ์‚ฌ์šฉ์ž ์ด๋ฆ„,๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฝœ๋ก ์œผ๋กœ ์ž‡๋Š”๋‹ค

brian-totty:Ow!

3. Base 64 ์ธ์ฝ”๋”ฉ

BASE64ENC(brian-totty:Ow!) -> YnJpYW4tdG90dHk6T3ch

4. ์ธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค

GET / family/jeff.jpg HTTP/1.0 Authorization: Basic YnJpYW4tdG90dHk6T3ch

์›น ์„œ๋ฒ„ ์ธ์ฆ vs ํ”„๋ฝ์‹œ ์ธ์ฆ

์›น ์„œ๋ฒ„ํ”„๋ฝ์‹œ ์„œ๋ฒ„

๋น„์ธ์ฆ ์ƒํƒœ ์ฝ”๋“œ : 401

๋น„์ธ์ฆ ์ƒํƒœ ์ฝ”๋“œ : 407

WWW-Authenticate

Proxy-Authenticate

Authorization

Proxy-Authorization

Authentication-Info

Proxy-Authentication-Info

๊ธฐ๋ณธ ์ธ์ฆ์˜ ๋ณด์•ˆ ๊ฒฐํ•จ

๊ธฐ๋ณธ ์ธ์ฆ์˜ ์ธ์ฝ”๋”ฉ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์‰ฝ๊ฒŒ ๋””์ฝ”๋”ฉ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— HTTPํŠธ๋žœ์žญ์…˜์„ SSL์•”ํ˜ธํ™” ์ฑ„๋„์„ ํ†ตํ•ด ๋ณด๋‚ด๊ฑฐ๋‚˜, ๋ณด์•ˆ์ด ๋” ๊ฐ•ํ™”๋œ ๋‹ค์ด์ œ์ŠคํŠธ ์ธ์ฆ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค
์ธ์ฝ”๋”ฉ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์› ์„œ๋ฒ„์— ๋ณด๋‚ด์„œ ์ธ์ฆ์— ์„ฑ๊ณตํ•˜๊ณ  ์„œ๋ฒ„์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค
์‚ฌ์šฉ์ž๋Š” ๋ณดํ†ต ์•„์ด๋””,๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ์ดํŠธ์— ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋” ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค
๊ฐ€์งœ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค

Last updated