카카오 소셜 로그인 구현 (React - Spring)
여기서 프론트엔드는 카카오에게서 인가코드를 받아서 백엔드에게 전달만 하면 끝이다!
1. 애플리케이션 등록
Kakao Developers
카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.
developers.kakao.com
먼저 여기서 Kakao Developers에 로그인 후 애플리케이션 생성하고 REST API 키 및 Redirect URI를 설정해야 한다.
2. 카카오 로그인 요청
사용자가 '카카오 로그인' 버튼을 클릭하면 카카오 인증 페이지(https://kauth.kakao.com/oauth/authorize)로 이동한다.
- KAKAO_REST_API_KEY: 카카오 개발자 콘솔에서 발급받은 REST API 키.
- KAKAO_REDIRECT_URI: 인가 코드가 리다이렉트될 프론트엔드 주소
1번에서 등록한 REST API 키 및 Redirect URI을 .env 파일에서 가져와서 사용한다.
이유는?
- 보안 : 민감한 정보들이기 때문에 외부에 노출되면 안됨.
(.env 파일에 키를 저장하면 코드를 공개 저장소(예: GitHub)에 올릴 때, 키가 포함되지 않도록 .gitignore를 설정할 수 있음.)
- 유지보수 및 확장성 유리 : 환경 변수 값이 변경될 경우 코드 여러 곳을 수정하지 않아도 됨.
3. 사용자 인증 및 권한 동의
사용자가 카카오 인증 화면에서 동의하면, 카카오 서버는 설정된 Redirect URI로 리다이렉트하며 인가코드를 전달해준다.
설정한 리다이렉트 URI 뒤에 인가코드가 오는 것을 확인할 수 있다.
4. 인가 코드 추출
그럼 저 URL에서 인가코드만 추출해서 백엔드에 넘기면 된다.
5. 인가코드 백엔드에 전달
6. 이후 백엔드에서 알아서 처리를 다하고 JWT 토큰을 줄 것이다.
그럼 프론트는 토큰으로 로그인 처리를 하면 된다. 이후는 다음 이시간에 ...
전체코드
'Web > React' 카테고리의 다른 글
React Daum Postcode(카카오 우편번호 서비스) (1) | 2024.11.29 |
---|---|
React axios 통신 DELETE 메서드 400 에러 (0) | 2024.04.08 |
React 로그인 상태 전역으로 관리하기(useContext) (0) | 2024.04.07 |
React 자체 로그인, jwt 토큰 로컬스토리지에 저장 (0) | 2024.04.06 |
React, RN 프로젝트 시작 명령어 (1) | 2024.04.01 |