1 minute read

๊ธฐํš ์‹œ๋ฆฌ์ฆˆ: Web Authentication

  1. Cookie & Session & JWT
  2. OAuth
  3. OpenID Connect(OIDC) ๐Ÿ‘ˆ
  4. SSO
  5. SAML

์ด ๊ธ€์€ OpenID Connect๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ง€์ ๊ณผ ์กฐ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค ใ…Žใ…Ž


<OpenID Connect; OIDC>๋Š” OAuth 2.0์„ ํ™•์žฅํ•ด์„œ ๊ฐœ๋ฐœ ๋˜์—ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— OAuth์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‚ฌ์šฉ์ž ์ธ์ฆ์„ ๋‹ค๋ฅธ ์„œ๋น„์Šค์— ์œ„์ž„ํ•˜๋Š” ์ธ์ฆ ๋ฐฉ์‹์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

OIDC๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ OAuth ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ OIDC์™€ OAuth๋Š” ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

OAuth OIDC
์ธ๊ฐ€(Authorization)์„ ์œ„ํ•ด ์‚ฌ์šฉ ์ธ์ฆ(Authentication)์„ ์œ„ํ•ด ์‚ฌ์šฉ
Resource Server์— ์ €์žฅ๋œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
๋‹ค๋ฅธ ํ”Œ๋žซํผ์˜ API๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด access_token์„ ํ™•๋ณด ์‚ฌ์šฉ์ž ๊ฐœ์ธ์„ ์‹๋ณ„ํ•˜๋Š” id_token์„ ํ™•๋ณด

์ด๋•Œ, OIDC์—์„œ ์–ป๋Š” id_token์€ ๋ณดํ†ต JWT ๋ฐฉ์‹์œผ๋กœ ์ธ์ฝ”๋”ฉ ๋˜์–ด ์žˆ๋‹ค.

์ข€๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์‹ค์Šตํ›„์— ๋ณด์ถฉํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค!


SAML vs. OAuth vs. OIDC

Image from here


์ฐธ๊ณ ์ž๋ฃŒ