작성
·
1K
·
수정됨
0
아직 잘몰라서 궁금해서 여쭈어 봅니다 . 다른 방법이 있으면 힌트 부탁드립니다.. 꾸벅..
<1>React + Spring oauth2.0 구글로그인 하는 중인데 이걸 스프링시큐리티해서 리다이렉트 경로로 바로 React 주소 + queryString 으로 accessToken을 넘겨주고 중간 페이지를 리액트에서 만들어서 그걸 저장하고 그걸로 회원정보를 조회할까요 ?
<2> 아니면 그냥 RestController 에서@react-oauth/google 라이브러리로 버튼 만들어서 client_id 로 로그인 성공후 받은 구글 소셜 토큰을 스프링 RestController 에 받아 그럴로 Googleverify를 사용해 직접 구글 정보를 가지고 서비스단에서 회원가입 + 토큰 발급을 하고 난 후 유저정보를 json 으로 넘겨주는게 맞나요?.. 이러면 스프링 api 권한관련 설정이 또 흠..
설명을 잘 못해서 죄송합니다..
<1> redirect + parm or 스프링 시큐리티 oauth successHandler send Redirect 에서 사용
React 구글 로그인 버튼 = server주소/oauth2/authorization/google
<2> 스프링 RestController 소설 임시 토큰 (스프링 Oauth successHandler사용 x)
React 구글 로그인 버튼 = @react-oauth/google client_id 사용
고수님들 부탁드립니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
OAuth2 인증 방식에 관해서 궁금증이 있는군요, 이종문님.
React와 Spring Boot를 이용한 Google OAuth2.0 로그인 시, 스프링 시큐리티를 사용하여 리다이렉트 URL에 액세스 토큰을 쿼리 스트링으로 함께 넘겨주는 방식(1번 방식)과 직접 스프링의 RestController를 통해 Google 소셜 토큰을 처리하는 방식(2번 방식)에 대해 고민 중이시군요.
1번 방식의 경우, 스프링 시큐리티와 OAuth2 로그인 성공 핸들러를 사용하여 액세스 토큰을 포함하여 리액트 페이지로 리다이렉트하는 방법과,
2번 방식에서는 clientId를 사용하여 React 에서 직접 구글 로그인을 하고 그 결과로 얻은 토큰을 스프링 백엔드로 전송하여 사용자 정보를 처리하고 토큰을 발급하는 방법이 있습니다.
실제 구현에 있어서는 보안, 사용성, 확장성 등을 고려하여 최적의 방법을 선택해야 합니다. 스프링 시큐리티를 활용하는 방식은 많은 보안 측면에서 이미 검증된 프레임워크를 활용하는 이점이 있고, OAuth2와 잘 통합되어 있는 반면, 레스트 컨트롤러를 직접 사용하는 경우에는 보다 세밀한 제어가 가능하나 보안에 대한 추가 구현을 고려해야 합니다.
스프링 부트와 스프링 시큐리티에 대한 OAuth2 구현 관련하여 더 자세한 정보를 원하신다면 Spring Boot 공식 문서의 OAuth2 관련 섹션을 참고하시면 도움이 될 것입니다.
Spring Boot OAuth2 설명 문서를 참조해보시기 바랍니다. 자세한 구현이나 설정 방법에 대해서는 해당 문서 내용을 참고하시면 좋을 것 같습니다.
이종문님의 프로젝트에 최적화된 방법을 선택하시기 바라며, 추가적인 질문이 있으실 경우 언제든 문의해 주시기 바랍니다.