@copiny7 추가적으로 unlink관련 내용의 문의를 받은것이 있어서 관련하여 좀 더 설명드릴께요.
access token을 플랫폼별 쉐어 하였을 경우라 하더라도, access token이 상징하는 user는 같은 user입니다.
예를들어 웹(Javascript, REST API)에서 unlink를 수행하였다면, 해당 앱에 대해 해당 user는 쉽게 탈퇴와 비슷한 상황이 됩니다.
이때, 안드로이드등에서 다른(또는 같은) 유효한 access token이 존재하였다면, api 호출시 error가 발생되게 됩니다. 예를들어 다음 링크의 에러코드 중 -101 등의 응답을 받으실 수 있습니다.
https://dev.kakao.com/docs/restapi#간편한-참조-응답-코드
이때 해당 앱은 에러가 발생할 경우의 뒷처리가 구현되어야 합니다(예를들어 로그인 화면등으로 이동 등).
그외 첫 질문에 세션, token등이 디컴파일되는 안드로이드 환경에서 취약하지 않느냐는 질문이 있었는데요, 좋은 질문 같아요.
얼마든지 맘만 먹으면 token등이 탈취되고 악용될 수 있는데요, 모바일 환경의 경우 그나마 쉬운일은 아니고, 토큰이 탈취되더라도 플랫폼 별 짧은 expire 정책으로 보안을 유지하고 있습니다. 또한 앱 생성시, 플랫폼 별 기본 설정등을 받고 있는데요, 이를 통해서도 추가 보안 장치가 걸려있습니다. 단지 토큰만 탈취되더라도 발생할 수 있는 이슈를 최소한으로 줄이기 위해서요~
이외에 refresh token개념이 존재하는데, 이는 말씀하신대로 웹의 경우 server-side에서만 재갱신할 수 있도록 되어 있습니다.
도움이 되시면 좋겠습니다. 이외의 다른 문제점이나 혹시 이해가 안되시는 부분이 있다면 편하게 계속 문의해 주세요!
감사합니다~