2012-08-17 2 views
0

를 사용자가 $의 process_uri 양식 https://my.domain.com/process.php?param1=value1&param2=value2의 URL을 urlencoded로되어php + facebook. 액세스 토큰 반환에 geting 오류 검증 확인 코드

$url = "https://graph.facebook.com/oauth/authorize?client_id=$appid&scope=&" . 
"redirect_uri=$process_url"; 

대화 로그인 리디렉션 후. 사용자가 https://my.domain.com/process.php에 반환 한 후 (이 file_get_contents 첫째을 사용하는 시도)에 나는 곱슬 곱슬 요청을 할 : 나는 { "error": { "message": "Error validating verification code.", "type": "OAuthException", "code": 100 } } 받고 있어요

$url = "https://graph.facebook.com/oauth/access_token?client_id=" . 
"$appid&redirect_uri=$current_url&client_secret=$secret" . 
"&code={$_REQUEST['code']}"; 

.

Google 검색 결과 문제가 발생할 수있는 주된 이유는 잘못된 것입니다. redirect_uri 컬 요청시. 질문 : curl 요청시 redirect_uri은 무엇이되어야합니까? https://my.domain.com/? 또는 https://my.domain.com/process.php? 또는 https://my.domain.com/process.php?param1=value1&param2=value2?

미리 감사드립니다.

답변

1

현재 URL을 https://graph.facebook.com/oauth/access_token 엔드 포인트에 redirect_uri로 제출할 때 code 매개 변수를 제거하십시오.

+0

"확인 코드의 유효성을 검사하는 중 오류가 발생했습니다." – Eugeny89

+0

redirect_uri가 해시로 사용되므로 권한 부여 끝점에 입력 한 것과 정확히 동일한 양식으로 제출해야합니다. 사용자는 추가 매개 변수 인 code를 사용하여이 uri로 리디렉션되므로 현재 URL에서 code 매개 변수를 제거하기 만하면됩니다. 인코딩이 동일해야합니다 (대소 문자 포함). 위 예제에서 "https://my.domain.com/process.php?param1=value1¶m2=value2"가 인코딩되어야합니다. – darnmason