Day 11
์ธ์
์ ์ฅ์๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉํ๊ธฐ
์ง๊ธ๊น์ง์ ๋ฌธ์
ํ์ฌ๊น์ง์ ์๋น์ค๋ ์ฑ์ ์ฌ์คํํ๊ฒ ๋๋ฉด ๋ก๊ทธ์ธ์ด ํ๋ฆผ โ ์ธ์ ์ด ๋ด์ฅ ํฐ์บฃ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ
= ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ค ๋ณด๋ ๋ด์ฅ ํฐ์บฃ์ฒ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์คํ ์ ์คํ๋๋ ๊ตฌ์กฐ์์ ํญ์ ์ด๊ธฐํ๋จ
= ๋ฐฐํฌํ ๋๋ง๋ค ํฐ์บฃ์ด ์ฌ์์
๋ง์ฝ 2๋ ์ด์์ ์๋ฒ์์ ์๋น์คํ๊ณ ์๋ค๋ฉด ํฐ์บฃ๋ง๋ค ์ธ์ ์ ๋๊ธฐํ๊ฐ ํ์ํจ
= ์ธ์ ์ ์ฅ์์ ๋ํด ๋ฐฉ๋ฒ 3๊ฐ์ง
ํฐ์บฃ ์ธ์ ์ ์ฌ์ฉ
์ผ๋ฐ์ ์ผ๋ก ๋ณ ๋ค๋ฅธ ์ค์ ์ด ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋๋ ๋ฐฉ์
ํฐ์บฃ(WAS)์ ์ธ์ ์ด ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ 2๋ ์ด์์ WAS๊ฐ ๊ตฌ๋๋๋ ํ๊ฒฝ์์๋ ํฐ์บฃ๋ค ๊ฐ์ ์ธ์ ๊ณต์ ๋ฅผ ์ํ ์ถ๊ฐ ์ค์ ์ด ํ์
MySQL๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ธ์ ์ ์ฅ์๋ก ์ฌ์ฉ
์ฌ๋ฌ WAS ๊ฐ์ ๊ณต์ฉ ์ธ์ ์ ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ
๋ง์ ์ค์ ์ด ํ์ ์์ง๋ง, ๊ฒฐ๊ตญ ๋ก๊ทธ์ธ ์์ฒญ๋ง๋ค DB IO๊ฐ ๋ฐ์ํ์ฌ ์ฑ๋ฅ์ ์ด์๊ฐ ๋ฐ์ํ ์ ์์
๋ณดํต ๋ก๊ทธ์ธ ์์ฒญ์ด ๋ง์ด ์๋ ๋ฐฑ์คํผ์ค, ์ฌ๋ด ์์คํ ์ฉ๋์์ ์ฌ์ฉ
Redis, Memcached์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ DB๋ฅผ ์ธ์ ์ ์ฅ์๋ก ์ฌ์ฉ
B2C ์๋น์ค์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ์
์ค์ ์๋น์ค๋ก ์ฌ์ฉํ๊ธฐ ์ํด์๋ Embedded Redis์ ๊ฐ์ ๋ฐฉ์์ด ์๋ ์ธ๋ถ ๋ฉ๋ชจ๋ฆฌ ์๋ฒ๊ฐ ํ์
2๋ฒ์งธ ๋ฐฉ์์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ธ์
์ ์ฅ์๋ก ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ฑํ
๐ ์ด์ : ์ค์ ์ด ๊ฐ๋จ, ์ฌ์ฉ์๊ฐ ๋ง์ ์๋น์ค๊ฐ ์๋๋ฉฐ ๋น์ฉ์ ๊ฐ์ ์ํด์
+Redis์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ DB๋ aws์ฌ์ฉ์ ๋ฐ๋ก ์ฌ์ฉ๋ฃ๋ฅผ ์ง๋ถํ๋ฉด์ ์ฌ์ฉํด์ผํจ
spring-session-jdbc ๋ฑ๋ก
build.gradle์ ์์กด์ฑ์ ๋ฑ๋ก
build.gradle
application-properties
์ค์ ์ ๋ง์ณค์ผ๋๊น h2-console๋ก ์ ์ํด์ ์ธ์ ์ ์ํ ํ ์ด๋ธ(SPRING_SESSION, SPRING_SESSION_ATTRIBUTES)๊ฐ ์์ฑ๋ ๊ฒ์ ํ์ธ
โ JPA๋ก ์ธํด ์ธ์ ํ ์ด๋ธ์ด ์๋์ผ๋ก ์์ฑ๋์๊ธฐ ๋๋ฌธ์ ๋ฑํ ํ ์ผ์ ์์
๊ธฐ์กด๊ณผ ๋์ผํ๊ฒ ์คํ๋ง์ ์ฌ์์ํ๋ฉด ์ธ์ ์ด ํ๋ฆฐ๋ค โ h2๋ ์ฌ์์๋๊ธฐ ๋๋ฌธ์
ํ์ง๋ง aws์ ์ ๋ก๋ํ๊ฒ ๋๋ฉด rds๋ก ๋ฐ๋๋๊น ์ธ์ ์ด ์ํ๋ฆฐ๋ค
๋ค์ด๋ฒ ๋ก๊ทธ์ธ ์ถ๊ฐ
๋ค์ด๋ฒ API๋ก ์ด๋ํด์ https://developers.naver.com/apps/#register?api=nvlogin
์ฌ์ฉํ๊ณ
application-oauth.properties์ ์ถ๊ฐ
user_name_attribute = response
๊ธฐ์ค์ด ๋๋ user_name์ ์ด๋ฆ์ ๋ค์ด๋ฒ์์๋ response๋ก ํด์ผํ๋ค
์ด์ ๋ ๋ค์ด๋ฒ์ ํ์ ์กฐํ ์ ๋ฐํ๋๋ JSON ํํ
-๋ค์ด๋ฒ์ ์๋ต๊ฐ ์ต์์ ํ๋๋ resultCode, messge, response์ด๋ค
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์คํ๋ง ์ํ๋ฆฌํฐ์์ ์ธ์์ด ๊ฐ๋ฅํ ํ๋๋ ์ 3๊ฐ์ค์ ํ๋์ฌ์ผํ๋ค
๋ณธ๋ฌธ์์ ๋ด๊ณ ์๋ response๋ฅผ user_name์ผ๋ก ์ง์
์ดํ๋ก ์๋ฐ ์ฝ๋๋ก response์ id๋ฅผ user_name์ผ๋ก ์ง์
์คํ๋ง ์ํ๋ฆฌํฐ ์ค์ ๋ฑ๋ก
OAuthAttributes์ ๋ค์ด๋ฒ์ธ์ง ํ๋จํ๋ ์ฝ๋์ ๋ค์ด๋ฒ ์์ฑ์๋ฅผ ์ถ๊ฐ
src/main/java/com/kyu/book/springboot/config/auth/dto/OAuthAttributes
์ฌ๊ธฐ์
index.mustache์ ๋ค์ด๋ฒ ๋ก๊ทธ์ธ ๋ฒํผ์ ์ถ๊ฐ
src/main/java/resource/template/index.mustache
/oauth2/authorization/naver
๋ค์ด๋ฒ ๋ก๊ทธ์ธ URL์ application-oauth.properties์ ๋ฑ๋กํ redirect-url ๊ฐ์ ๋ง์ถฐ์ ์๋์ผ๋ก ๋ฑ๋ก
/oauth2/authorization ๊น์ง๋ ๊ณ ์ ์ด๊ณ ๋ง์ง๋ง path๋ง ๊ฐ ์์ ๋ก๊ทธ์ธ ์ฝ๋๋ฅผ ์ฌ์ฉ
Last updated
Was this helpful?