Https://kauth.kakao.com/oauth/token?grant_type=refresh_token 시 오류 메세지 입니다

먼저 상황을 설명하면

  1. 앱에서 SessionCallback 클래스의 onSessionOpened 이벤트를 통해 RefreshToken 값을 가져옵니다.
  2. 이 RefreshToken 값을 이용해서 Rest API 의 https://kauth.kakao.com/oauth/token 을 통해서 AccessToken 값을
    가져옵니다.
  3. 최초 접속이라서 동의 화면이 보여지고 동의 합니다. 이때 이메일 값은 선택사항으로 표시되어 있습니다.
    선택사항을 체크 하는 경우 정상적으로 신규가입 또는 로그인 프로세스를 진행합니다.
  4. 이번은 이메일은 선택이 아닌 필수이어서 Rest API https://kapi.kakao.com/v2/user/me 을 통해 이메일 제공
    여부를 확인후 없을 경우 Rest API https://kapi.kakao.com/v1/user/unlink 을 통해 연결을 해제후
    다시 1번부터 시작합니다.

다시 시작해서 1번에서 보내주는 RefreshToken 값은 처음에 준 값과 동일합니다.
2번 작업에서 오류가 발생합니다.
오류 내용은 invalid_grant , expired_or_Invalid_refresh_token 으로 표시됩니다.

동일한 프로세스로 지난번에는 잘 진행된거 같은데 이번에는 좀 이상합니다. 어떻게 하면 될까요?

@ibsolution125 여기서 4번 unlink부분이 이상한것 같아요. unlink(탈퇴)를 하는것이 아닌 사용자의 동적 동의를 요청하시어 이메일 제공 동의 창을 띄우셔야 할것 같아요. 가이드에 동적 동의 부분이 있어요~

말씀하신 동적동의 부분을 사용하려고 합니다.

그래서 4번 항목대신 동적동의 부분을 넣어서 [https://kauth.kakao.com/oauth/authorize?client_id= …] 을
호출하였습니다. 가이드대로 라면 등록된 redirectPath 로 이동되어야 하는데 이동이 되지 않습니다.
(환경은 안드로이드 하이브리드 앱 입니다.) 위 호출의 status_code 는 302로 맞게 나오지만 리다이렉트가 되지
않습니다. 리다이렉트 되는 경우 안드로이드에서는 webview 의 shouldOverrideUrlLoading 함수에 대상 URL 을
가져오는데 여기에도 표시되지 않습니다. (onPageStarted, onPageFinished 에서도 표시되지 않습니다.) 리다이렉트가 안되서 그런지 동의 화면이 보이지도 않습니다. 로그 확인이 가능하시면 보시고 답변주세요. 다른 좋은 샘플코드가 있다면 알려주시면 더욱 좋을거 같습니다.

답변을 받을수 있는지 궁금합니다. 진행사항이 있으시면 그 내용이라도 알려주세요

4번 항목에 동적동의 넣어서 결과가 302 에 Location 이 헤더에 표시되는것을 확인했습니다.
Location 대로 이동 하면 로그인 화면이 표시되고 로그인 하면 동의 화면이 표시됩니다.
근데 문제는 이게 간편결제라 로그인 없이 하려고 한건데 로그인 없이 바로 동의 화면으로
이동하는 방법은 없을까요?