강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của youworld1900
youworld1900

câu hỏi đã được viết

Tìm hiểu các nguyên tắc, hack và bảo mật của khái niệm OAuth 2.0 thông qua thực hành

Friends 로그인 시도 시 오류 발생

Đã giải quyết

Viết

·

362

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 확인해보니 관련 테이블에는 토큰값이 잘 들어갔습니다.

 

oauth모의해킹

Câu trả lời 4

1

youworld1900님의 프로필 이미지
youworld1900
Người đặt câu hỏi

해결되었습니다.

테스트 과정에서  2개의 아이디로 로그인을 시도하여 2개의 oauth_client가 생겼는데 실습환경상 동일한 client id로 생성되어 있어 token.php에서 select 질의를 할 때 동일한 client id의 다른 값을 불러오는 바람에 정상적으로 로그인되지 않았었네요.

oauth 관련 테이블 데이터를 전부 지우고 재시도하니 정상적으로 로그인되네요. 다른 분들도 참고하시라고 메일로 말씀드리지 않고 게시판에 글 남깁니다. 도와주셔서 감사하고 다들 열공하세요~

0

crehacktive님의 프로필 이미지
crehacktive
Người chia sẻ kiến thức

state 값은 이후 실습에서 사용될 예정이라 신경 안쓰셔도 됩니다.ㅎ

혹시 클라이언트(WGW)에서는 토큰이 저장되었나요?

그리고 이후 질답을 이메일로 주실래요? 그게 편할듯하네요 ㅎㅎ

crehacktive3@naver.com 

입니다.

0

youworld1900님의 프로필 이미지
youworld1900
Người đặt câu hỏi

안녕하세요.

웹 프록시 도구로 확인한 결과,

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

crehacktive님의 프로필 이미지
crehacktive
Người chia sẻ kiến thức

안녕하세요.

문제 파악을 위해서 단계별로 확인을 해봐야 할 것 같은데,

우선 웹 프록시 도구로 인가 코드 발급과 리소스소유자에서 클라이언트로 인가코드가 전달이 되는지,

그리고 클라이언트가 인가 서버로 인가코드를 통해 토큰 발급이 정상되었는지 확인을 위해 클라이언트 측의 데이터베이스에 토큰이 정상적으로 존재하는지 등 단계별 확인이 필요할 것 같습니다.

우선 이렇게 확인해보실래요?

Hình ảnh hồ sơ của youworld1900
youworld1900

câu hỏi đã được viết

Đặt câu hỏi