해결된 질문
작성
·
263
1
안녕하세요. 기능 테스트 강의를 보며 Friends 로그인 시도 시 동의화면 이후에 다음과 같은 오류가 발생하며 정상적으로 리다이렉션되지 않습니다.
Notice: Undefined index: access_token in C:\Bitnami\wampstack-7.3.29-0\apache2\htdocs\wgw_website\oauth\callback.php on line 11
Notice: Undefined index: refresh_token in C:\Bitnami\wampstack-7.3.29-0\apache2\htdocs\wgw_website\oauth\callback.php on line 12
Notice: Undefined index: refresh_token in C:\Bitnami\wampstack-7.3.29-0\apache2\htdocs\friends_oauth\oauth\token.php on line 36
{"token_type": "Bearer", "access_token": "토큰값", "refresh_token": "토큰값"}
액세스토큰과 리프레스 토큰이 정상적으로 발급되었으나 리다이렉션될 때 session에 실리지 않는 것 같은데 해결방안 좀 확인 부탁드려요. db 확인해보니 관련 테이블에는 토큰값이 잘 들어갔습니다.
답변 4
1
해결되었습니다.
테스트 과정에서 2개의 아이디로 로그인을 시도하여 2개의 oauth_client가 생겼는데 실습환경상 동일한 client id로 생성되어 있어 token.php에서 select 질의를 할 때 동일한 client id의 다른 값을 불러오는 바람에 정상적으로 로그인되지 않았었네요.
oauth 관련 테이블 데이터를 전부 지우고 재시도하니 정상적으로 로그인되네요. 다른 분들도 참고하시라고 메일로 말씀드리지 않고 게시판에 글 남깁니다. 도와주셔서 감사하고 다들 열공하세요~
0
state 값은 이후 실습에서 사용될 예정이라 신경 안쓰셔도 됩니다.ㅎ
혹시 클라이언트(WGW)에서는 토큰이 저장되었나요?
그리고 이후 질답을 이메일로 주실래요? 그게 편할듯하네요 ㅎㅎ
crehacktive3@naver.com
입니다.
0
안녕하세요.
웹 프록시 도구로 확인한 결과,
authorize.php로 client_id와 redirect uri, type, scope는 정상적으로 전달이되고 있으나 state는 계속 빈값으로 전달되고 이후 callback.php로 넘어갈때도 state는 계속 빈값으로 넘어갑니다.
- > /oauth/callback.php?code=wWCdhfrl&state=
또한 cookie 내에 token이 실리지 않고 session id만 넘어가고 있습니다.
헤더에도 Bearer 항목으로 추가되지 않습니다.
데이터베이스에는 위 url 코드에 따라 토큰은 정상적으로 발급되어 저장되어 있습니다.
state값은 따로 설정하거나 확인하는 코드는 발견하지 못했는데 PHP 슈퍼전역변수인건가요?
혹시 몰라서 브라우저 크롬, 파이어폭스, 엣지 모두 확인하였으나 동일한 증상이 반복됩니다.
확인 부탁드려요~
0
안녕하세요.
문제 파악을 위해서 단계별로 확인을 해봐야 할 것 같은데,
우선 웹 프록시 도구로 인가 코드 발급과 리소스소유자에서 클라이언트로 인가코드가 전달이 되는지,
그리고 클라이언트가 인가 서버로 인가코드를 통해 토큰 발급이 정상되었는지 확인을 위해 클라이언트 측의 데이터베이스에 토큰이 정상적으로 존재하는지 등 단계별 확인이 필요할 것 같습니다.
우선 이렇게 확인해보실래요?