///
Search
Duplicate
🍫

Kakao

작성자: Ian
작성일: 210115

들어가기 앞서

회원가입, 탈퇴는 우리가 직접 구현해야 함
access_token은 javascript sdk로 발급받으면 2시간, rest api로 발급받으면 6시간
refresh_token 은 유효기간 2달, 1달 남았을 때부터 갱신 가능 (갱신은 access_token 갱신할 때 자동으로 가능)
아래 시퀀스는 signal_token이 포함되지 않은 시나리오 (signal_token에 대한 논의 필요함!)
참고로 ios/andrios에서는 토큰이 자동 갱신된다고 함

회원가입

회원탈퇴

토큰 갱신

논의가 필요한 내용

카카오 연결된 앱에서 서비스를 언링크하는 경우, 서비스(signal) db에 있는 사용자를 날리는 시나리오
프론트엔드에서 signal_token만 가지고 있으면서 oauth access_token을 효과적으로 갱신할만한 시나리오

추후 논의할 수 있는 내용

카카오싱크 간편가입
자동로그인 (카카오싱크에 딸린 기능)
구현 가능 케이스
홈 > 주문 페이지로 진입할 때
상품 > 주문/결제 페이지로 진입할 떄

Mermaid Chart

// 회원가입 210115 sequenceDiagram participant C as Client participant S as Signal API participant K as KAuth API C->>K: 인증코드 요청 K->>S: 인증코드와 함께 리디렉션 S->>K: 인증코드로 토큰 요청 alt 에러가 발생하는 경우 K-->>S: 에러 반환 S-->>C: 404 상태로 응답 end K->>S: 토큰 반환 S->>S: 유저 및 토큰 저장 및 signal_token 생성 S->>C: 200 상태로 signal_token 전달 // 회원탈퇴 210115 sequenceDiagram participant C as Client participant S as Signal API participant K as KAuth API C->>S: 회원탈퇴 api 요청 S->>K: access_token 검증 alt access_token이 유효한 경우 K->>S: expires_in 1 이상 반환 else K-->>S: expired_in 0 반환 S-->>C: 401 상태로 응답 end S->>K: unlink 요청 K->>S: unlink한 id 반환 S->>S: 유저 삭제 S->>C: 200 상태로 응답 // 토큰 갱신 210115 sequenceDiagram participant C as Client participant S as Signal API participant K as KAuth API C->>S: xxx api 요청 S->>K: access_token 유효기간 검증 alt access_token이 만료된 경우 K->>S: expires_in 0 반환 S->>K: refresh_token으로 access_token 갱신 요청 alt is refresh_token이 1개월 미만 남은 경우 K->>S: 갱신된 refresh_token, access_token 반환 else if refresh_token이 1개월 이상 남은 경우 K->>S: 갱신된 access_token 반환 else if refresh_token이 만료된 경우 K-->>S: 에러 발생 end S-->>C: 401 상태로 응답 K->>S: 갱신된 access_token 반환 end K->>S: access_token 검증됨 S->>C: 200 상태로 xxx api 응답
JavaScript
복사