오늘 배운 것
카카오 로그인을 위한 개념 정리
이제까지 공부한 흐름 정리 (04.27)
- (유저)카카오 로그인 버튼 클릭 -> (서비스)유저에게 '카카오톡으로 로그인' 또는 '카카오계정으로 로그인'을 띄움 -> (카카오 서버)사용자 인증 후 동의항목 띄움 -> (유저) 동의하고 로그인함 -> (카카오) 인가코드 리다이렉트URI로 전달해줌 -> (서비스) 받은 인가코드로 토큰 요청
로그인
ID 토큰
- 사용자 인증 정보를 담고 있습니다. Open ID Connect(OIDC)를 사용합니다.
Access 토큰
- 사용자를 인증하고 카카오 API(사용자 정보 가져오기 등등) 호출 합니다. REST API는 6시간 후에 엑세스 토큰이 만료됩니다.
Refresh 토큰
- 일정 기간 동안 다시 인증 절차를 거치지 않고도 액세스 토큰 발급을 받을 수 있게 합니다. (2달) 유효한 리프레시 토큰이 있다면 사용자가 매번 카카오게정 정보를 입력하거나 카카오톡으로 로그인하지 않고도 액세스 토큰을 다시 발급받을 수 있습니다.
사용자 정보
사용자 정보 가져오기 API
- 카카오에서 제공 받은 사용자 정보를 카카오 로그인 시 서비스의 회원 정보로 활용 할 수 있습니다.
- OICD를 활성화로 설정해 줘야 합니다. 그래야 ID토큰과 엑세스 토큰을 발급 받습니다.
- 사용자 정보 값을 받기 위해 '서비스 이용동의'에서 동의항목 [필수동의] 또는 [선택동의]를 설정해야 합니다.
카카오 로그인 토큰 받아오기
아직까지 해결은 못 했지만... 헤더는 응답헤더(Response Headers)와 요청헤더(Request Headers)로 나눕니다. 응답헤더의 Accept의 Content-Type을 text/html 형식이 아닌 json 형식으로 받아와야 합니다. 그래야 프론트엔드에서 데이터를 가져와 쓸 수 있습니다.
이런 정보 다 무시하고 리다이렉트 URI를 localhost로 잘 설정하시고, 백엔드에서는 passport를 쓰면 바로 토큰을 받아 올 수 있습니다!!!
오늘의 코드
https://github.com/seuchida/seuchida_FE
오늘 공부 한 것
토큰을 받아 온 것은 리듀서에 저장해야 합니다.