안녕하세요.
kakao login api REST 사용하고 있습니다.
여기에 redirest url 은 액션을 처리하는 페이지를 지정하는것이지
처리가 완료되고 돌아가는 페이지가 아니잖아요.
사이트를 둘어보다가 특정 페이지(www.a.com/tool/123)에서 kakao login api 을 처리하고 원래 페이지인 특정 페이지(www.a.com/tool/123)로 돌아갔으면 좋겠어서 글을 남깁니다.
좋은 방법이 없을까요?
안녕하세요.
kakao login api REST 사용하고 있습니다.
여기에 redirest url 은 액션을 처리하는 페이지를 지정하는것이지
처리가 완료되고 돌아가는 페이지가 아니잖아요.
사이트를 둘어보다가 특정 페이지(www.a.com/tool/123)에서 kakao login api 을 처리하고 원래 페이지인 특정 페이지(www.a.com/tool/123)로 돌아갔으면 좋겠어서 글을 남깁니다.
좋은 방법이 없을까요?
카카오 로그인 요청 시 ‘state’ 파라메터를 사용하여,
로그인 완료 후 이동할 주소값을 전달하시거나,
사이트 쿠키를 사용하여 필요하신 기능을 구현하실 수 있습니다.
&state=test
이렇게 념겨주면
redirect_url 페이지에서 안받아지는데
state 값을 어떻게 받는지요?
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#user-list
여기서 찾아봐도 나오지가 않습니다. ㅠ.ㅠ
state 파라메터는 /oauth/authorize 요청에서 사용할 수 있습니다.
authorize 요청 시 ‘state’ 파라메터를 추가하였지만,
redirect_uri에서 전달이 되지 않는다는 말씀이신가요?
정확한 확인을 위해 앱이름 또는 앱아이디를 말씀해 주세요.
참고로 아래는 관련내용의 문서 입니다.
https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code
네 전달이 안됩니다.
전체 URL 주소가 뜨는데요.
참고문서는 확인했고 관련해서 어떻게 받는지가 안나와 있어서 나와있지 않다고 하였습니다.
로또이야기 / 98138b4f8448517ff53abafcb9c4e127 입니다.
카카오 동의창 요청 시 전달하신 ‘state’ 값은 아래와 같으며,
해당 값이 정상적으로 전달된 것 으로 확인됩니다.
www.lottostory.co.kr/lotto_result_detail.php?cate=include&searchYN=Y
받을때
정해진 redirect_uri 에서
state 변수로 받아진다는거죠?
state 값을 표시해보니
www.lottostory.co.kr%2Foauth%3Fcode%3DgORitFQD-y7RMtmK7Uc0KQ0RtjlN9GqrHGUVuxf12dNx3S6oNef65H4E7c3LCk7BV7Fatgo9dJcAAAF2ITIo2g%26state%3Dwww.lottostory.co.kr%252Findex.php
이렇게 나옵니다.
해당 값 으로 동의창 요청 시,
‘state’ 값을 전달했기 때문에 reidrect_uri에 해당 값 으로 전달되는 것 이에요.
www.lottostory.co.kr/lotto_result_detail.php?cate=include&searchYN=Y
와 값이 다른 이유는 URL Encoding이 되기 때문입니다.
머리가 나뻐서 좀 이해가 안됩니다.
urlencode 안하고 넘겨봤습니다.
예상 state 값)
www.lottostory.co.kr/lotto_result_detail.php?cate=include&searchYN=Y
결과 state 값 )
주소값 전체가 state 변수에 들어간다는겁니다.
물론 짤라서 쓸 수 있습니다만 진짜 이렇게 나오는게 맞는건지 싶어서요.
예상대로
www.lottostory.co.kr%2Flotto_result_detail.php%3Fcate%3Dinclude
이렇게만 나와야 되는거 아닌지요?
state 값에 www.lottostory.co.kr/lotto_result_detail.php?cate=include&searchYN=Y 넣었습니다.
그럼
www.lottostory.co.kr/lotto_result_detail.php?cate=include&searchYN=Y
나와야되는거 아닌가요?
이게 나와서 물어봅니다.
----------- callback page
$state = $_GET[“state”];
echo($state);