[Virtualized List] #2. Virtualized List์˜ ๊ธฐ๋Šฅ
์›น (WEB)/๊ณต๋ถ€ 2023. 1. 7. 22:37

์ด๋ฒˆ ์ฑ•ํ„ฐ์—์„œ๋Š” ๊ฐ€์ƒ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์—์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ๋ชจ๋‘ ๋ฆฌ์ŠคํŒ… ํ•ด๋ณด๊ณ , ๋ช‡๋ช‡์˜ ๊ธฐ๋Šฅ์ด ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜๋Š”์ง€ ์™œ ์–ด๋ ค์šด ์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Major ๊ธฐ๋Šฅ ์œˆ๋„์šฐ ์Šคํฌ๋กค์„ ๋ฆฌ์ŠคํŠธ ์Šคํฌ๋กค์— ์ ์šฉ ํŽ˜์ด์ง€ ์žฌ๋ฐฉ๋ฌธ ์‹œ ์Šคํฌ๋กค ์œ„์น˜ ์œ ์ง€ ๐Ÿ”ฅ ์•„์ดํ…œ์˜ ๋†’์ด๊ฐ€ ์ž๋™์œผ๋กœ ์กฐ์ ˆ ํ™”๋ฉด์— ๋ณด์ด๋Š” ์•„์ดํ…œ๋งŒ ๋ Œ๋”๋ง ์—ด์˜ ์ˆ˜๋ฅผ ๋ฐ˜์‘ํ˜• ์œผ๋กœ ์กฐ์ • ์–‘๋ฐฉํ–ฅ ๋ฌดํ•œ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ๊ณผ ์—ฐ๊ฒฐ ๐Ÿ”ฅ ๊ตฌํ˜„ํ•˜๊ธฐ ๊นŒ๋‹ค๋กœ์šด ๋ถ€๋ถ„์ด ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ๐Ÿ”ฅ ๋กœ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์œˆ๋„์šฐ ์Šคํฌ๋กค์„ ๋ฆฌ์ŠคํŠธ ์Šคํฌ๋กค์— ์ ์šฉ ์•„๋ž˜์˜ ์˜์ƒ์„ ๋ณด๋ฉด ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ŠคํŠธ ๋‚ด๋ถ€ ์Šคํฌ๋กค์˜ ๊ฒฝ์šฐ list-container ๋ผ๋Š” div์˜ height๊ฐ€ ์ •ํ•ด์ ธ์žˆ๊ณ  overflow-y๊ฐ€ scroll์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํŽ˜์ด์ง€์˜ ๊ตฌ์„ฑ์ด (ํ—ค๋”, ๋ฆฌ์ŠคํŠธ, ํ‘ธํ„ฐ)๋กœ..

[Virtualized List] #1. ๊ธฐ๋ณธ (Virtualized List์˜ ๊ตฌ์„ฑ)
์›น (WEB)/๊ณต๋ถ€ 2022. 12. 2. 11:58

Virtualized List ๋ž€? Virtualized List(๊ฐ€์ƒ๋ฆฌ์ŠคํŠธ)๋ž€ ๋‚˜์—ด๋œ ๋ฆฌ์ŠคํŠธ์˜ ์•„์ดํ…œ ์ค‘ ํ™”๋ฉด์— ๋ณด์—ฌ์ง€๋Š” ์•„์ดํ…œ๋งŒ ๋ Œ๋”๋งํ•˜๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์œ ์ €๊ฐ€ ์Šคํฌ๋กค์„ ๋‚ด๋ ค ๋ณด์ด๋Š” ์•„์ดํ…œ์˜ ๋ฒ”์œ„๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹ค์‹œ ๋ณ€๊ฒฝ๋œ ์•„์ดํ…œ ๋งŒ์„ ๋ Œ๋”๋ง ํ•˜๋„๋ก ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ํ™”๋ฉด์„ ๋ฒ—์–ด๋‚œ ๊ณณ์˜ ์•„์ดํ…œ๋“ค์€ ํ™”๋ฉด ์ƒ์— ๋ Œ๋”๋ง ๋˜์–ด์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ์‹œ์ ์—๋Š” ์—†๋Š” ์•„์ดํ…œ์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์œ ์ €์˜ ์Šคํฌ๋กค ์œ„์น˜์— ๋”ฐ๋ผ ํ™”๋ฉด ์ƒ์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ฐ€์ƒ์œผ๋กœ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ฐจ๋ก€๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์•„์ดํ…œ์„ ๋ชจ๋‘ ๋ Œ๋”๋งํ•˜๋Š” ๊ธฐ๋ณธ List์™€ ๋น„๊ตํ–ˆ์„ ๋•Œ, ํ•„์š”ํ•œ ์•„์ดํ…œ๋งŒ์„ ๋ Œ๋”๋งํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋ Œ๋”๋ง ๋น„์šฉ์ด ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ Œ๋”๋ง ๋น„์šฉ์„ ๊ฐ์†Œ์‹œํ‚ค๋Š” ๊ธฐ์ˆ ๋กœ๋Š” ํŽ˜์ด์ง€ ๋ณ„๋กœ n๊ฐœ์˜ ์•„์ดํ…œ๋งŒ..

[์ œ๋กœ ๋ฒ ์ด์Šค] JS ๊ธฐ์ดˆ ๊ฐ•์˜ ์ œ์ž‘ ํ›„๊ธฐ
๋„์ ์ด๋Š” ๊ธ€/ํ›„๊ธฐ 2022. 9. 11. 16:11

๐Ÿ‘‰ ํ•ด๋‹น ๊ธ€์€ ๋ฐ์ด์›์ปดํผ๋‹ˆ์—์„œ ์ง„ํ–‰ํ•˜๋Š” ์ œ๋กœ๋ฒ ์ด์Šค ํ”„๋ก ํŠธ์—”๋“œ ์Šค์ฟจ์˜ ๊ฐ•์˜ ์ค‘ ํ•˜๋‚˜์ธ JS ๊ธฐ์ดˆ ๊ฐ•์˜๋ฅผ ์ œ์ž‘ํ•œ ํ›„๊ธฐ๋ฅผ ๋‹ด์€ ๊ธ€์ž…๋‹ˆ๋‹ค :) ๐Ÿ‘‰ ์ œ๋กœ๋ฒ ์ด์Šค ํ”„๋ก ํŠธ์—”๋“œ ์Šค์ฟจ์˜ ๊ฐ•์˜๋ฅผ ๋ง›๋ณด๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค์€ ํ•ด๋‹น ๋งํฌ์—์„œ ๋ง›๋ณด๊ธฐ ๊ฐ•์˜๋ฅผ ๋“ค์œผ์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ˜˜๏ธ ์ฒซ ์—ฐ๋ฝ ๋ฐ์ด์›์ปดํผ๋‹ˆ์—์„œ ๋งํฌ๋“œ์ธ์œผ๋กœ ์ฒซ ์—ฐ๋ฝ์„ ์ฃผ์‹œ๊ณ  ๊ฝค ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ–ˆ๋”๋žฌ๋‹ค. ์ฒ˜์Œ ํ•˜๋Š” ๊ต์œก์ด๊ธฐ๋„ ํ•˜๊ณ  ์Šค์Šค๋กœ ์•„์ง ์‹ค๋ ฅ์ด ๋ถ€์กฑํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ฒ˜์Œ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์ œ๋กœ๋ฒ ์ด์Šค ํ•™์Šต์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ต์œก์ด๋ผ๊ณ  ํ•˜์‹œ๊ธธ๋ž˜ ์ž์‹ ๊ฐ์„ ๋˜์ฐพ๊ณ  ํ•˜๊ฒ ๋‹ค๊ณ  ๊ฒฐ์ •ํ–ˆ๋‹ค. ๋™๊ธฐ ์• ๋“ค์ด๋‚˜ ์ดˆ, ์ค‘๋“ฑ ํ•™์ƒ์„ ๋Œ€์ƒ์œผ๋กœ ์ฝ”๋”ฉ ๊ต์œก์€ ๊ฒฝํ—˜์ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๊ฑด ์ž์‹  ์žˆ์—ˆ๊ณ , ์ด ๋ถ„์•ผ๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์ „์— ์ •๋ง ์•„๋ฌด๊ฒƒ๋„ ๋ชฐ๋ž๋˜ ์‚ฌ๋žŒ์œผ๋กœ ๋” ๊ณต๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์žˆ๊ฒ ๋‹ค๊ณ ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42579 :: "๋ฒ ์ŠคํŠธ ์•จ๋ฒ”" ํ’€์ด ๋ฐ ์ฝ”๋“œ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2022. 3. 20. 16:53

๋ฌธ์ œ ๋ฒ ์ŠคํŠธ ์•จ๋ฒ” ๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ฒ ์ŠคํŠธ์•จ๋ฒ” ์ŠคํŠธ๋ฆฌ๋ฐ ์‚ฌ์ดํŠธ์—์„œ ์žฅ๋ฅด ๋ณ„๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์žฌ์ƒ๋œ ๋…ธ๋ž˜๋ฅผ ๋‘ ๊ฐœ์”ฉ ๋ชจ์•„ ๋ฒ ์ŠคํŠธ ์•จ๋ฒ”์„ ์ถœ์‹œํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋ž˜๋Š” ๊ณ ์œ  ๋ฒˆํ˜ธ๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉฐ, ๋…ธ๋ž˜๋ฅผ ์ˆ˜๋กํ•˜๋Š” ๊ธฐ์ค€์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์†ํ•œ ๋…ธ๋ž˜๊ฐ€ programmers.co.kr ํ’€์ด ์šฐ์„  ์•Œ์•„๋‚ด์•ผ ํ•  ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์žฅ๋ฅด์˜ ์ด ์žฌ์ƒ ํšŸ์ˆ˜ -> ์žฅ๋ฅด ์ˆœ์œ„ ์ •ํ•˜๊ธฐ ๊ฐ ์žฅ๋ฅด์˜ ๊ฐœ๋ณ„ ๊ณก ์žฌ์ƒ ํšŸ์ˆ˜ -> ๊ณก ์ˆœ์œ„ ์ •ํ•˜๊ธฐ ์ด๊ฑธ ํ•œ ๋ฒˆ์— ์•Œ์•„๋‚ด๋ ค๊ณ  ํ•˜๋ฉด ์žฅ๋ฅด๋ฅผ key๋กœ ๋‘๊ณ  ์žˆ๋Š” map์— value๋กœ (์ด ์žฌ์ƒ ํšŸ์ˆ˜, index๋งˆ๋‹ค์˜ ์žฌ์ƒํšŸ์ˆ˜)์„ ์ €์žฅํ•ด๋‘์–ด์•ผ ํ•˜๊ณ  ์ด๋Ÿฌ๋ฉด ์žฅ๋ฅด์˜ ์ˆœ์œ„๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ํž˜๋“ค ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ณก ์ˆœ์œ„๋„ ์ถ”์ถœํ•ด์„œ ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ map์„ ๋‘๊ฐœ๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค. 1๋ฒˆ map์€ { key : ์žฅ..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 42577 :: "์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก" ํ’€์ด ๋ฐ ์ฝ”๋“œ
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2022. 3. 20. 16:42

๋ฌธ์ œ ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก ๋ฌธ์ œ ๋ฐ”๋กœ ๊ฐ€๊ธฐ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก ์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ ์ค‘, ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ, ๊ตฌ์กฐ๋Œ€ ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์˜์„์ด์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์‚ฌ์ž…๋‹ˆ๋‹ค. ๊ตฌ์กฐ programmers.co.kr ํ’€์ด ๋ณด์ž๋งˆ์ž ํŠธ๋ผ์ด(Trie)๊ฐ€ ์ƒ๊ฐ๋‚ฌ๋‹ค. ๋ฌธ์ž์—ด ๊ธธ์ด๋„ 20 ์ดํ•˜์ด๋‹ˆ ์ตœ๋Œ€ ๋†’์ด๊ฐ€ 20์ธ ํŠธ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„์ด ๋„ˆ๋ฌด ๊ท€์ฐฎ๊ธฐ๋„ ํ•˜๊ณ , ์ž…๋ ฅ์˜ ๋ฒ”์œ„๊ฐ€ 10^6์ด๋ผ O(nlgn) ์ดํ•˜๋กœ ํ•œ ๋ฒˆ์— ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด ์žˆ์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ–ˆ๋‹ค. ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” phone_book์„ ํ•œ ๋ฒˆ์— ํ›‘์œผ๋ฉด ๋“ฑ์žฅํ–ˆ๋˜ ๋ฌธ์ž์—ด์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ์ง€๋ฅผ ํ™•์ธํ•˜๋ฉด ๋˜๋Š”๋ฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋“ฑ์žฅํ–ˆ๋˜ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ๋‹ค์‹œ ์ˆœ..

์ธ์ฆ ์ด ์ •๋ฆฌ :: 3. SSO ์ธ์ฆ ๋ฐ ์ด ์ •๋ฆฌ
์›น (WEB)/๊ณต๋ถ€ 2022. 3. 15. 22:17

SSO SSO(Single Sign On)๋Š” ํ•œ ๋ฒˆ์˜ ๋กœ๊ทธ์ธ์œผ๋กœ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ†ตํ•ฉ ์ธ์ฆ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ ๋•Œ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ฉ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด SSO๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. SSO๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€ ํŒจํ„ด์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ์ธ์ฆ gateway ๋ฐฉ์‹ ๊ฐ ์„œ๋น„์Šค์— ์ ‘๊ทผํ•  ๋•Œ ์ด์ „ ๋ ˆ์ด์–ด์— ํ†ตํ•ฉ ์ธ์ฆ ์„œ๋น„์Šค๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. User๋Š” SessionID๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ํ†ตํ•ฉ ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ํ†ต๊ณผํ•˜๋ฉด ํ•ด๋‹น ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์˜ ๋‹จ์ ์€ ๊ฐ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ๋•Œ๋งˆ๋‹ค ์ธ์ฆ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•˜๋ฉฐ ์ธ์ฆ ์„œ๋น„์Šค ์ž์ฒด๊ฐ€ bottle neck์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2. ์ธ์ฆ ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐฉ์‹ ์œ ์ €๋Š” ์šฐ์„  ํ†ตํ•ฉ ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ํ† ํฐ์ด๋ผ๋Š” ์ธ์ฆ ๋Œ€ํ–‰ ๋งค์ฒด..

์ธ์ฆ ์ด ์ •๋ฆฌ :: 2. ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ์˜ ๋‹ค์–‘ํ•œ ์ธ์ฆ (feat. SAML, OAuth 2.0)
์›น (WEB)/๊ณต๋ถ€ 2022. 3. 15. 22:10

SAML ์ธ์ฆ SAML์€ XML ๊ธฐ๋ฐ˜์˜ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ ํฌ๋งท์ž…๋‹ˆ๋‹ค. ์ธ์ฆ ์ •๋ณด๋ฅผ XML ํฌ๋งท์œผ๋กœ ์ƒ์„ฑํ•˜๊ณ  ์•”ํ˜ธํ™”ํ•œ ๊ฒƒ์ด Assertion์ธ๋ฐ ์ด๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. User, IDP(Identity Provider), SP(Service Provider) ๊ฐ€ ์กด์žฌํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ธ์ฆ์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. (๊ทธ๋ฆผ) User๊ฐ€ SP๋กœ ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๋ฉด SP๋Š” ์ธ์ฆ๋œ User์ธ์ง€ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ๋˜์ง€ ์•Š์•˜์œผ๋ฉด ์ธ์ฆ ์š”์ฒญ(SAMLRequest)์„ ์ƒ์„ฑํ•˜์—ฌ User์—๊ฒŒ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. SAMLRequest์— ์˜ํ•ด User๋Š” IDP๋กœ redirect๋˜๊ณ  ๋กœ๊ทธ์ธ์„ ํ†ตํ•ด ์ธ์ฆ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์— ์„ฑ๊ณตํ•˜๋ฉด IDP๋Š” SAMLAssertion์ด ํฌํ•จ๋œ SAMLResponse๋ฅผ User์— ๋‚ด๋ ค์ค๋‹ˆ๋‹ค. โ†’ ๊ทธ ๊ณผ์ •์—์„œ IDP๊ฐ€ ์„ค์ •ํ•œ Ses..

์ธ์ฆ ์ด ์ •๋ฆฌ :: 1. ๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๋Š” Auth Flow Best Case (feat. OpenIDC)
์›น (WEB)/๊ณต๋ถ€ 2022. 3. 15. 21:59

์ธ์ฆ Best Case ๊ธฐ๋ณธ flow (OpenIDC) Best Case๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ์ธ์ฆ flow(OpenIDC)๋ฅผ ๋จผ์ € ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €, Auth Service๊ฐ€ ํƒ€ ์„œ๋น„์Šค๊ฐ€ ์•„๋‹Œ ์ž์‚ฌ์˜ ์„œ๋น„์Šค์ผ ๋•Œ๋Š” OAuth ๊ธฐ๋ฐ˜์˜ flow๊ฐ€ ํ•„์š”์—†์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์ด ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค. (ํƒ€ ์„œ๋น„์Šค์ผ ๊ฒฝ์šฐ OAuth ๋ณด๊ธฐ) Client๊ฐ€ id(username)์™€ password๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ ์š”์ฒญ์€ BFF โ†’ Server โ†’ Auth Service๋กœ ์ „ํ•ด์ง‘๋‹ˆ๋‹ค. ์ „๋‹ฌ๋œ id์™€ password๋กœ Auth Service์—์„œ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์— ์„ฑ๊ณตํ•˜๋ฉด access token, refresh token, id token ๋ฅผ Server๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Server๋Š” id token ์„ d..