안녕하세요. 오늘도 질문 드립니다.
좀 작업이 급해서 javascript로 해봤다가 rest api로 해봤다가 ㅠㅠ
여튼 이번 질문은요. 위에 답변에 cors 이슈 때문에 서버사이드에서 카톡에 요청하고
다시 그걸 리턴해주는 작업을 해서 드뎌 값을 가져오게 되었는데요.
문제가요. 이 방법을 이용하는 이유가 하이브리드앱에서 연동을 위해서거든요.
해서 하이브리드에서 저희 서버에 ajax로 요청을 하고 저희 서버에서 서버사이드로
카카오 rest api를 이용해서 로그인 요청을 하면 로그인이 안되어 있으면
카카오에서 바로 로그인 페이지로 리다이렉트 되더라구요.
해서 로그인이 안되어 있으면 하이브리드앱에서 결과값을 받기가 어려운데요.
rest api로 카톡에 로그인 요청을 했을때 로그인이 안되어 있으면 그 결과값을 받아서
클라이언트에서 로그인페이지를 요청하는 그런 api가 있을까요?
방법을 부탁드립니다.
감사합니다.
@gorapa100
음… 저희쪽에서 단순히 로그인 처리만하는 것은 아니고요…
REST API를 통해서 로그인을 할 경우 플로우를 간단히 설명을 드리면,
- /oauth/authorize 호출해서 카카오계정으로 로그인이 안되어 있으면 카카오 계정으로 로그인 페이지로 이동합니다.
- 로그인이 끝난 후에 다시 /oauth/authorize가 호출됩니다. 이때는 로그인이 된 상태입니다.
- 사용자가 써드 앱 가입시 동의할 사항들에 대해서 나옵니다.
- 동의 화면에서 [동의]를 누르면 redirect path(/oauth)로 해서 authorize code를 발급받게 됩니다.
- code 가지고 access token 발급 요청(/oauth/token)을 해서 토큰을 얻어 어딘가에 저장(세션/디비)을 합니다.
저라면… 위에 플로우를 ajax로 처리하기 힘듭니다. 뷰 렌더링과 사용자 액션이 필요하기 때문입니다.
로그인이 되어 있는지 체크하시려면 로그인 후에 access token이 만들어지니 그것을 체크하시면 될거 같습니다.
위에 플로우 상 로그인을 클라언트쪽에서 임의로 컨트롤할 수 있는 건 불가능합니다.
링크를 통해서 로그인 처리를 하시는건 어떠신가요… 로그인 버튼 누르면 authorize url 로 이동하고…로그인 안되어 있으면 로그인 페이지로 이동하고… 등등