Courses
Reviews
- Social Login Implementation with Spring Boot and React
- Social Login Implementation with Spring Boot and React
Posts
Q&A
๋ก๊ทธ์ธ ์ฑ๊ณต์
์จ์ฝ๋ฉ์ ๋๋ค.Spring Security์์ defaultSuccessUrl()๊ณผ successHandler()๊ฐ ํจ๊ป ์ค์ ๋์ด ์์ ๋, ์ฐ์ ์์๋ successHandler๊ฐ ๋ ๋์ต๋๋ค.์ฆ, ๋ ์ค์ ์ด ์ถฉ๋ํ๋ ๊ฒฝ์ฐ์๋ successHandler๊ฐ ์ค์ ํ ๋ฆฌ๋ค์ด๋ ํธ ๊ฒฝ๋ก ("/")๊ฐ ์ ์ฉ๋ฉ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 26
Q&A
SocialLoginWeb1303 ์์ค ์ ๊ณตํด ์ฃผ์๋ฉด ์๋๋์?
์จ์ฝ๋ฉ์ ๋๋ค.์ด๋ฒ ๊ฐ์์์๋ ์ค๊ฐ ๊ณผ์ ์์ ์์ฑ๋ ์ฝ๋๋ ๋ฐ๋ก ์ ๊ณตํ๊ณ ์์ง ์์ต๋๋ค.์ํ์๋ ์ฝ๋๋ ๊ฐ์ ์์๋ถ์ ๋์ค๋ ์์ค์ธ๋ฐ, ์๋ง๋ ๊ฐ์ ์์ํ๋ฉด์ ํ๋ก์ ํธ๋ช ์ ๋ณด๊ณ ์๊ตฌํ์ ๊ฒ ๊ฐ์ต๋๋ค.์งํํ๋ฉด์ ์กฐ๊ธ์ฉ ๋ณ๊ฒฝ๋ ์์ค ์ฝ๋๋ก ์์ฑ๋ ๋ ๋ค๋ฅธ ํ๋ก์ ํธ๋ช ์ด ๋์ฌ๊ฒ๋๋ค.์๊ฐ์ ์งํํ๋ฉด์ ์์๊ฒ ์ง๋ง, ๊ฐ์ ์ค๊ฐ์ ๋ณ๊ฒฝ๋์ด ์์ฑ๋ ํ๋ก์ ํธ๊ฐ ๋ง์ด ์์ด์ ๊ฐ๋ณ๋ก ๋๋ฆฌ๊ธฐ๊ฐ ๊ณค๋ํฉ๋๋ค.๊ทธ๋์, ์ต์ข ์์ฑ๋ ์์ค ์ฝ๋๋ง ์ ๊ณตํ๊ณ ์์ต๋๋ค.์ค๊ฐ ๊ณผ์ ์ ์ฝ๋๋ ๋ถํธํ์๋๋ผ๋ ์ต์ข ์์ค ์ฝ๋์ ๊ฐ์ ์์์ ์๋ ์ฝ๋๋ฅผ ๋น๊ต ์ฐธ์กฐํ์ฌ ํ์ตํ์๊ธฐ๋ฅผ ๊ถ์ฅ๋๋ฆฝ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 43
Q&A
db์ฐ๊ฒฐ ์ง๋ฌธ์์ต๋๋ค!
์จ์ฝ๋ฉ์ ๋๋ค.์คํ๋ง ๋ถํธ ๊ธฐ๋ฐ์ ํ๋ก์ ํธ์์๋ ์ค์ ๋ง ์ ๋๋ก ํด์ฃผ๋ฉด ์๋์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ํด์ค๋๋ค.๋จผ์ , pom.xml์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ์ ์ค์ ์ ํด์ค๋๋ค.dependency>groupId>com.mysqlgroupId>artifactId>mysql-connector-jartifactId>scope>runtimescope>dependency>๊ทธ๋ฆฌ๊ณ , application.properties ํ์ผ์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ ๋ ฅํ์ฌ ์ ์ฅํฉ๋๋ค.spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/dev_db?serverTimezone=UTC&useSSL=falsespring.datasource.username=alexspring.datasource.password=123456์ฌ๊ธฐ์, dev_db๊ฐ ์คํค๋ง๋ช ์ด๊ณ , alex๋ ์ฌ์ฉ์๋ช , 123456์ ๋น๋ฐ๋ฒํธ์ ๋๋ค.์คํค๋ง๋ฅผ ๋จผ์ ์์ฑํ๊ณ , ์ฌ์ฉ์๋ฅผ ์์ฑํ๋ฉด์ ์คํค๋ง๋ฅผ ์ ํํฉ๋๋ค. pom.xml๊ณผ application.properties ํ์ผ์ ์์ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ์ ๋ณด๋ฅผ ์ค์ ํ๋ฉด ์๋์ผ๋ก ์คํ๋ง ๋ถํธ๊ฐ ๋ด๋ถ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ์ค์ ์ ํด์ค๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 52
Q&A
๋ฆฌ์ํธ ํ์ด์ง ๋๋๋ง
์จ์ฝ๋ฉ์ ๋๋ค.๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ์ ์ด ๋ง์ง ์๊ฑฐ๋, ์๋ก ์ถฉ๋์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ ํ๋ฉด์ด ์ ๋๋ก ๋ณด์ด์ง ์์ ์ ์์ต๋๋ค.์์ค ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ ๋ฐ์ผ์ ์, ํด๋น ๋ฆฌ์กํธ ํด๋๋ก ์ด๋ํ ํ์, 'npm install'์ ํ ํ์ ์ฌ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.์ ๊ณต๋ ์์ค ์ฝ๋์ ์๋ package-lock.json์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ ๋น๊ตํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 42
Q&A
์ง๋ฌธ์์ต๋๋ค.
์จ์ฝ๋ฉ์ ๋๋ค.์ด๋ฒ ๊ฐ์๋ ์์ ๋ก๊ทธ์ธ์ ๋ํ ๋ด์ฉ์ ์ง์คํ๊ธฐ ์ํด, JWT ๊ด๋ จ ๋ด์ฉ์ ๊น์ด ๋ค๋ฃจ์ง ์์์ต๋๋ค.์ง๋ฌธํด ์ฃผ์ ๋ด์ฉ๋๋ก ํ์ฌ ๋ณธ ๊ฐ์๋ JWT ๋ณด์์ ์ทจ์ฝํ ๊ฒ์ด ์ฌ์ค์ ๋๋ค.Refresh Token๊ณผ JWT ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ตฌ ๋ฒ์ ์ฌ์ฉ์ ์ด์ ๊ฐ ์์ด์ ์ผ๋ถ๋ฌ ์ฌ์ฉํ ๊ฒ์ด ์๋๊ณ ,JWT ๋ณด์์ ์ํด ์ ๊ทธ๋ ์ด๋ ํด์ผ ํ๋ ๋ถ๋ถ์ ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 63
Q&A
๊ฐ์์๋ฃ
์จ์ฝ๋ฉ์ ๋๋ค.์ด๋ฒ ๊ฐ์์๋ ๋ฐ๋ก ์ค๋น๋ GitHub ์ฃผ์๋ ์๋ฃ๋ ์์ต๋๋ค.์ต์ข ์์ค ์ฝ๋๋ง ๊ฐ์ ์์์์ ๋งํฌ๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค.๋ค์ ๊ฐ์ ์์์์๋ ํด๋น ์ฌํญ์ ๊ณ ๋ คํด ๋ณด๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 84
Q&A
[์ธ์ฆ๋ ์ฌ์ฉ์ ์ ๋ณด ํด๋์ค ์ ์]ํ์ต ์์ ์ ๊ฐ์ ๋ด์ฉ์ด ๋ค๋ฅธ ์ด์ ๊ฐ ์๋์?
์จ์ฝ๋ฉ์ ๋๋ค.์ ๊ณตํ๋ ์์ค ์ฝ๋๋ ์ต์ข ์ผ๋ก ์์ฑ๋ ์ฝ๋์ด๊ณ , ๊ฐ์์์ ํ์ฉํ๊ณ ์๋ ์์ค ์ฝ๋๋ ์ค๊ฐ์ ์์๋ก ์์ฑํ ์ฝ๋์ ๋๋ค.๊ฐ์์ ๋์ค๋ ํ๋ก์ ํธ์ ๋ถ์ 1303 ๋ฑ ๋ฒํธ๋ ์์๋ก ๋ถ์ธ ๋ฒ์ ๋ฒํธ์ ๋๋ค.๊ฐ ์น์ ์ ๊ฐ์ ์ค๋ช ์ ๋ํ ํธ์๋ฅผ ์ํด ์ค๊ฐ ๋จ๊ณ์ ํ๋ก์ ํธ๋ฅผ ์์ฑํ ๊ฒ์ ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 75
Q&A
socialLoginSpa1703 ์คํ๋ง ์คํ ์ค๋ฅ๋ฉ๋๋ค.
์ง๊ธ ๋ณด์ฌ์ฃผ์ ๋ฉ์์ง๋ฅผ ํ์ธํด ๋ณด๋ ์ ๋๋ก ์คํ์ด ๋์๋ค์.socialLoginSpa1703์ SPA ํ๋ก ํธ์๋ ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์ ๋ํ ๋ฐฑ์๋ ์๋ฒ์ ๋๋ค.๊ทธ๋์, 8080 ํฌํธ๋ก ๋ฐ๋ก ์ ์ํ์๋ฉด "/" ๋ฃจํธ์ ๋ํ ์นํ์ด์ง ์ ์๊ฐ ์๋์ด ์์ต๋๋ค.์ฆ, MPA ํ์์ @Controller๋ฅผ ์ง์ ํ๊ณ "/" ๊ฒฝ๋ก์ ํด๋นํ๋ ํ์๋ฆฌํ ํ์ด์ง๋ฅผ ๋ง๋ค์ด ์ค์ผ ํฉ๋๋ค.socialLoginSpa1703 ํ๋ก์ ํธ๋ RESTful ๋ฐฑ์๋ ์๋ฒ๋ก ๋์ด๋๊ณ , ๋ฆฌ์กํธ ํ๋ก ํธ์๋ ํ๋ก๊ทธ๋จ์ ์๋์์ผ์ ๋ฆฌ์กํธ ํ๋ก๊ทธ๋จ์ผ๋ก socialLoginSpa1703 ๋ฐฑ์๋ ์๋ฒ์ REST API๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค.์ํ์๋ ์น ํ๋ฉด์ ๋ณด์ค๋ ค๋ฉด MPA ํํ๋ก ๊ฐ๋ฐ๋ socialLoginWeb1703 ํ๋ก์ ํธ๋ฅผ ์คํ์์ผ์ผ ํฉ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 103