
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..

์ธ์ฆ 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..

์ธ์ฆ ๋ฐฉ์ 1. API key๋ฅผ ํตํ ์ธ์ฆ ๊ณผ์ user๊ฐ login ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ค. Client๋ ์ด๋ฏธ Server์ ๋ฑ๋กํ API key๋ฅผ ๊ฐ์ง๊ณ ์๋ค. Client๋ user๊ฐ ์ ๋ ฅํ Login ์ ๋ณด๋ฅผ ๋ฐ์์ API key์ ํจ๊ป Login API๋ฅผ ์์ฒญํ๋ค. Server๋ API key๋ฅผ ํตํด ํด๋น Client๊ฐ ๋ฑ๋ก๋์ด์๋ ์ง๋ฅผ ๊ฒ์ฌํ๋ค. Sever๋ Login ์ ๋ณด๋ฅผ ํตํด ํด๋น User๊ฐ API๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ง๋ฅผ ๊ฒ์ฌํ๋ค. ๋จ์ API key๋ ๋ชจ๋ Client๋ค์ด ๊ณตํต์ผ๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ ธ์ถ๋๋ฉด ์ ์ฒด API๊ฐ ๋ ธ์ถ๋๋ค. API key๋ ์๊ฐ์ด ๋ฌด์ ํ์ด๊ณ ํ ๋ฒ ๋ ธ์ถ๋๋ฉด API key ๋ณ๊ฒฝ ์ ๊น์ง ๊ณ์ ๋ ธ์ถ๋๋ค. 2. API Token์ ํตํ ์ธ์ฆ ๊ณผ์ user๊ฐ login ์ ๋ณด๋ฅผ ์ ..
token์ cookie์ ์ ์ฅํ ์๋, Web Storage์ ์ ์ฅํ ์๋, Client ์์ฒด์ ์ ์ฅํ ์๋ ์๋ค. Cookie ์ฟ ํค๋ ์๋ฒ๊ฐ ๋ณด๋ธ ๋ฐ์ดํฐ๋ฅผ ์ต๋ 4KB๊น์ง ์ ์ฅ ๊ฐ๋ฅํ๋ค. ํด๋ผ์ด์ธํธ์์ Credential ์์ฑ์ผ๋ก ํ์ฉํ๋ฉด ์๋ฒ์์ ์ ๊ทผ ๊ฐ๋ฅํ๋ค. HTTP Request ์ ์๋์ผ๋ก ํฌํจ๋์ด ์๋ฒ์ ์ฟ ํค ์ ๋ณด๋ฅผ ์ ๊ณต ๊ฐ๋ฅํ๋ค. HttpOnly ์ค์ ์ ์ด์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ ์ดํ ์ ์๋๋ก ๋ง๋ค ์ ์๋ค. Web Storage Session Storage ์๋ฒ์์ ์ ๊ทผํ ์ ์๋ค. ์ธ์ ์ด ์ข ๋ฃ๋๋ฉด ๋ชจ๋ ์ญ์ ๋๋ค. 5~10MB์ ํฌ๊ธฐ๋ฅผ ๊ฐ๋๋ค. Local Storage ์๋ฒ์์ ์ ๊ทผํ ์ ์๋ค. ๋ฐ ์๊ตฌ์ ์ผ๋ก ์ ์ฅํ ์ ์๋ค. 5~10MB์ ํฌ๊ธฐ๋ฅผ ๊ฐ๋๋ค. Client Side ํด๋ผ์ด์ธํธ ..
์ฐธ๊ณ : https://hoilzz.github.io/webpack/11-eslint-prettier/ eslint์ parser๊ฐ ๊ณต์์ ์ผ๋ก ES ํ์ค๋ง์ ์ง์ํ๊ธฐ ๋๋ฌธ์, ES6~7 ํ์ฑ ์ ๋ฌธ์ ๊ฐ ์๊ธด๋ค. ๋ฐ๋ผ์, .eslintrc.js ํ์ผ์ export default๋ฅผ module.export๋ก ๋ณ๊ฒฝํ๊ธฐ export๋ ES6 syntax์ด๊ณ , module export๋ commonJS syntax์ด๋ค. babel-eslint ์ค์น ํ .eslintrc.js์ "parser": "babel-eslint",์ถ๊ฐํ๊ธฐ ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
Comment