inflearn logo
강의

講義

知識共有

カカオ、Google SNSログイン(springboot3, vue3)

oauth2-client を活用した Googleログイン

인가 코드 발급(프론트 vs 백)

12

k454656922662

投稿した質問数 17

0

카카오 데브톡 응답에 따르면 프론트/백엔드 분할 책임 방식이 지양한다고 합니다.

오히려 백에서 로그인 구현을 일임하는 것을 권장합니다.

https://devtalk.kakao.com/t/oauth/136448

 

해당 블로그에서도 책임을 프론트와 백엔드가 나누어 가지는 방식이 잘못되었다고 합니다.

https://cafe.naver.com/xxxjjhhh/296

 

카카오 로그인 REST API에서도 백에서 인가 코드를 받습니다.

https://developers.kakao.com/docs/ko/kakaologin/rest-api#before-you-begin-process

image.png

 

어떤 방식이 맞는지 헷갈립니다.

vue.js spring-boot oauth jwt oauth2

回答 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 매콤한각설탕님.

카카오 로그인 인증 과정을 프론트엔드와 백엔드에서 각각 어느 부분을 담당해야 하는지에 대한 혼란을 겪고 계신 것 같습니다. 질문 내용을 잘 이해하였으며, 이에 대한 설명을 드리겠습니다.

1. 백엔드에서 인가 코드 받기 권장

  • OAuth2.0 프로세스에서의 책임 분할: 카카오의 데브톡과 다른 참고 자료에서 권장하는 방식은 백엔드에서 인가 코드를 받는 것입니다. 이는 보안성이 더 강화된 방식으로, 민감한 정보를 프론트엔드에서 다루지 않음으로써 보안 위험을 줄일 수 있습니다.

  • 프로세스:

    1. 백엔드 서버가 카카오 API에 GET /oauth/authorize 요청을 하여, 사용자로부터 인가를 얻기 위한 로그인 페이지를 리다이렉트.
    2. 사용자가 로그인하면, 카카오가 인가 코드를 백엔드 서버로 돌려줍니다.
    3. 백엔드 서버는 이 인가 코드를 사용하여 POST /oauth/token 요청을 통해 액세스 토큰을 받아옵니다.
    4. 이후 백엔드 서버가 이 액세스 토큰을 활용하여 사용자 정보를 가져오거나 서비스를 제공하게 됩니다.

2. 프론트엔드와의 협업

  • 프론트엔드는 주로 사용자의 동의와 인증 페이지 리다이렉션 역할을 하며, 민감하지 않은 정보를 다루는 책임이 있습니다. 기본적으로 사용자가 버튼을 클릭하면 백엔드로 리다이렉션하는 흐름을 주도합니다.

관련 링크와 이미지

이러한 백엔드 중심의 구현은 보안 측면에서 강력한 방법이며, 인가 코드를 백엔드에서 직접 처리함으로써 보안 노출을 최소화합니다. 이러한 방법이 카카오 로그인 뿐만 아니라 많은 OAuth2.0 기반 인증에 있어서 보편적인 권장 방식입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

인텔리제이 MCP 서버 설정 관련

0

10

1

Sequence 관련 질문

1

23

2

Image Only Query

1

22

2

프롬프트, 스킬, sub-agent

0

27

1

도메인 모델에서 관계와 규칙을 구분하는 방법

0

35

2

16 강의 메세지 retryCount의 의도

0

21

2

JPA Repository 질문이 있습니다!

1

32

2

페이지네이션 처리를 쿼리에서 하는 방식 질문

1

35

1

DDD 는 마이바티스와 잘 맞지 않는건가요?

0

44

1

카카오 클라이언트 시크릿

0

188

2

소셜 로그인 설계

0

94

2

카카오 인가코드 요청

0

101

3

구글 로그인 프론트 화면

0

90

2

github 주소 어디서 확인가능한가요?

0

156

2

안녕하세요 선생님

1

93

1

application.yml에 동일 OAuth2 제공업체의 redirect-uri를 여러 개 등록할 수 있을지 궁금합니다.

0

132

3

안녕하세요 섹션2. 인가코드(프론트에서 발급) 부분에서 질문 있습니다.

0

104

2

filterchain 구성에서 포스트맨으로 테스트시

0

64

2

프론트엔드에서 Auth.js를 사용했을 때, 질문 있습니다.

0

82

1

[질문] 소셜 로그인한 적이 없다면 회원가입 시키기

0

100

2

토큰 생성강의 코드 실행 문의

0

172

1

refresh 와 naver login 도 두번째 강의도 만들어주시면 어떨까요

0

190

2

백엔드 서버에서 소셜 로그인을 전부 처리하는 것에서 질문 있습니다.

0

222

2

강의 내용 문의 입니당

1

204

1