2012-04-10 3 views
1

사용자 대신 Facebook API에 액세스하려면 OAuth access_token을 받아야합니다. FB에서 문서화되지 않은 요구 사항 인 것처럼 보이지만 그 과정은 문서화되어 있지만 때때로 이 '인증 코드 확인 중 오류'메시지가 표시됩니다. access_token에 대한 유효성 검사 코드를 교환하려고 할 때"인증 코드 검증 오류." access_token을 요청할 때

그런 문제가 많은 사람들이 있고 대부분 redirect_uri가 문제인 것처럼 보입니다.하지만 redirect_uri는 괜찮습니다. (인증 대화 상자에 전달 된 것과 정확히 동일합니다. 슬래시 및 펑키 문자 또는 후행 쿼리 문자열이 없기 때문에이 문제점에 관해서는 거의 모든 스레드를 읽었으므로 제안 된 솔루션 중 아무 것도 내 문제를 해결하지 못했습니다.

가장 흥미로운 점은 로그, 내가 사용하는 정확한 요청 URL을 작성하고 수동으로 액세스 토큰을 얻으려고 시도하면 작동합니다. 사용자가 로그인했지만 일정 시간이 지나면 요청이 실패하는 것과 같습니다.

사실 그것이 작동하고 있다는 사실은 요청이 괜찮다는 것을 나타내는 것처럼 보이지만 Facebook 대화 상자에 문제가 있습니다. 예를 들어 인증 대화 상자가 완료 될 때까지 완료되지 않은 복제가있는 경우처럼 나는 토큰에 대한 코드를 교환하려고합니다.

두 가지 호출 간의 지연이 충분하고 두 번째 호출이 성공할 것으로 기대하지만 재 시도 메커니즘을 적용했지만 작동하지 않습니다.

또한 대부분의 경우 작동하며 작동 할 때와 실패 할 때 사용자가 변경하는 경우의 차이점을 알 수 없습니다.

모든 의견을 크게 기뻐할 것입니다.

+0

참고로 페이스 북 API에 대해 언급하고 있다고 언급 한 경우 귀하의 질문을 이해하는 것이 더 쉬울 것입니다. –

+0

Nick, 네 말이 맞아. 여기에 적용되지 않을 때 gae 태그로 인해 숲에서 나올 수 있다고 말할 수있다. (비록 gae에서 돌아가고 있지만) –

+0

facebook 페이지에 삽입하는 경우 서명 된 요청 경로가 oauth 토큰을 얻는 훨씬 쉬운 방법이라는 것을 알았습니다. 그러나 페이스 북을 벗어나면 (오래된 페이스 북 연결과 같이)이 방법을 사용할 수 있습니다. 작업을 시작할 수는 있지만 약간 까다 롭습니다. –

답변

0

방금이 문제에 부딪쳐 해결했습니다.

문제점은 oauth 호출에서 redirect_uri를 https://apps.facebook.com/myapp/ 대신 http://apps.facebook.com/myapp/으로 지정했기 때문에 발생했습니다.

이상한 점은 응용 프로그램의 서버 측 요청이 아니라 브라우저 주소 필드에 입력 한 것과 똑같은 매개 변수가 작동한다는 것입니다.

사용자 당 기준으로 HTTPS 사용 여부에 관계없이 Facebook을 탐색 할 수 있도록 지정할 수 있으므로 인증 흐름을 테스트 할 때 두 모드의 설정으로 테스트하는 것이 좋습니다.

+0

좋은 소리! –

관련 문제