카카오톡 로그아웃 후 로그인

문제 인식

카카오톡 로그아웃 후 로그인 하면 자동 로그인 되어 다른 계정을 선택하는게 어렵다는 문제를 식별했습니다.
그렇다고 ‘기존 로그인 상관없이 로그인’ 을 두면, 매번 ID/PW를 입력해야하는 번거로움이 있습니다.

그래서 생각 중인 것이 Redirect -> 카카오 계정과 함께 로그아웃 혹은 카카오 계정 간편 로그인 기능입니다.


의문점

카카오톡 계정과 함께 로그아웃 ::

카카오계정과 함께 로그아웃은 웹 브라우저에 로그인된 카카오계정의 세션을 만료시키고, 서비스에서도 로그아웃 처리할 때 사용하는 로그아웃 추가 기능입니다.

자사 서비스를 A, 타사 서비스를 B라고 하겠습니다. 만약 B에서 소셜로그인 ATK를 로그인이나 인증용으로 그대로 쓰는 구조라면, A에서 ‘카카오 계정과 함께 로그아웃’ 했을 때 B에서 로그아웃되는게 아닌지 의문입니다. (물론 직접 토큰 생성해서 서빙하는 구조라면 문제 안되겠지만요)

카카오톡 계정 간편 로그인 ::

카카오톡 계정 간편 로그인 - 활용하기

만약 간편 로그인 정보를 저장하지 않고 로그인 후 로그아웃하게되면, 기존의 문제점이었던 ‘로그아웃 후 로그인 시 자동 로그인’ 으로 넘어가게 되는 구조는 아닌지 의문이 듭니다. 만약 그렇다면 계정 선택없이 바로 로그인 돼버리는 문제가 재발합니다.


원하는 동작 방식

카카오톡 계정과 함께 로그아웃 ::

같은 브라우저에 동일 계정으로 로그인된 타사 사이트가 있을 경우, 로그아웃이 타사 사이트에 영향을 안줬으면 좋겠습니다.

카카오톡 계정 간편 로그인 ::

다음의 Case 들을 모두 커버했으면 좋겠습니다.

Case 1. 간편 로그인 없이 로그아웃 → 로그인 → ID/PW를 요구함 (이미 로그인한 세션이 있어도)

Case 2. 간편 로그인 후 로그아웃 → 로그인 → 간편 로그인 계정 선택


소셜 로그인 구현이 처음이라 부족한게 많습니다. 그래서 개발 선배님들의 지혜를 빌리고자 이렇게 글 남깁니다.

긴 글 읽어주셔서 감사합니다.

안녕하세요.

자사 서비스를 A, 타사 서비스를 B라고 하겠습니다. 만약 B에서 소셜로그인 ATK를 로그인이나 인증용으로 그대로 쓰는 구조라면, A에서 ‘카카오 계정과 함께 로그아웃’ 했을 때 B에서 로그아웃되는게 아닌지 의문입니다. (물론 직접 토큰 생성해서 서빙하는 구조라면 문제 안되겠지만요)

‘카카오 계정과 함께 로그아웃’ 은 운영하시는 서비스의 카카오로그인 액세스 토큰을 만료 시키고,
해당 브라우저의 카카오계정 사이트 세션을 만료 처리합니다.

즉, 카카오 로그인으로 로그인 시 서비스측에서 구성하는 자체 세션에 영향을 줄 수 없습니다.

간편 로그인 정보를 저장하지 않고 로그인 후 로그아웃하게되면, 기존의 문제점이었던 ‘로그아웃 후 로그인 시 자동 로그인’ 으로 넘어가게 되는 구조는 아닌지 의문이 듭니다.

‘카카오 계정과 함께 로그아웃’ 을 하면, 카카오 로그인 시 카카오계정 로그인 페이지에 진입하며
간편 로그인 정보가 있는 경우라면 계정 선택이 표시되고 없다면 ID/PW 입력 하게됩니다.

(첨부하신 내용과 같이 PC 기준 또는 모바일 기본 브라우저 REST-API 방식 로그인 기준 안내입니다.)


같은 브라우저에 동일 계정으로 로그인된 타사 사이트가 있을 경우, 로그아웃이 타사 사이트에 영향을 안줬으면 좋겠습니다.

네, 영향을 줄 수 없습니다.

다음의 Case 들을 모두 커버했으면 좋겠습니다.

REST-API 방식 로그인 기준, 카카오 로그인 시 브라우저에 카카오계정 로그인 세션이 없다면, 카카오계정 로그인 페이지로 진입하고 카카오계정 페이지의 설정을 따릅니다.

즉, 서비스측의 카카오 로그인 동작 방식이 카카오계정 로그인페이지의 간편 로그인 계정 선택에 영향을 주지 않으므로

원하시는 그대로 동작합니다.

감사합니다.

답변 감사합니다.

근데 이해가 잘 안가는 부분이 있습니다.

‘Case 1. 간편 로그인 없이 로그아웃 → 로그인 → ID/PW를 요구함 (이미 로그인한 세션이 있어도)’

→ ‘REST-API 방식 로그인 기준, 카카오 로그인 시 브라우저에 카카오계정 로그인 세션이 없다면, 카카오계정 로그인 페이지로 진입하고 카카오계정 페이지의 설정을 따릅니다.‘


제가 우려하는 상황은 다음과 같습니다. 이는 카카오계정 간편 로그인만 사용하는 상황을 전제합니다.

1). ‘간편 로그인 체크 없이 로그인’

2). 로그아웃

3). 카카오계정 간편 로그인. → 이때 이미 로그인 세션 존재

4). ID/PW 요구 없이 로그인됨 → 제시했던 문제 상황

아니면 혹시 답변의 가정이 카카오계정 로그아웃 + 카카오계정 간편 로그인 두 방식을 혼합하는 것이었나요?

제가 우려하는 상황은 다음과 같습니다. 이는 카카오계정 간편 로그인만 사용 하는 상황을 전제

위 전제인데 " 1). ‘간편 로그인 체크 없이 로그인’" 이라 하심은 기존에 설정된 간편로그인 계정이 있다는 전제인가요?

2). 로그아웃 3). 카카오계정 간편 로그인. → 이때 이미 로그인 세션 존재

카카오계정 간편 로그인 과 무관하게 카카오로그인의 로그아웃처리는 액세스토큰 만료 처리에 관한 내용이므로
카카오계정페이지의 브라우저세션에 관여하지 않습니다.

즉, 2)에서 카카오계정과 함께 로그아웃 처리 하시면 됩니다.

정리하면 아래와 같습니다.

  1. 카카오로그인에서 제공하는 로그아웃은 액세스토큰을 만료 처리하는 기능

  2. 카카오계정 세션은 로그아웃과 무관하게 카카오계정 페이지에서 브라우저에 세션을 설정하므로

  3. 카카오계정 페이지도 로그아웃하려면 “카카오계정과 함께 로그아웃” 해야함.