2012-01-24 3 views
1

내 Facebook 프로필에서 데이터를 가져 오는 많은 PHP 스크립트가 있습니다.로그 아웃시 offline_access 토큰이 만료되기 시작 했습니까?

나는 이것을 그래프 탐색기에서 가져온 액세스 토큰으로 설정했다.

https://developers.facebook.com/tools/explorer/

나는 토큰을 생성 할 때, 나는 offline_access 연장 허가를 요청 것을 보장.

이 스크립트는 수개월 동안 잘 작동했지만 지난 며칠 동안 페이 스북에서 로그 아웃 할 때마다 토큰이 무효화되고 매번 다시 로그인하여 새로운 것을 가져와야한다는 사실을 알았습니다.

필자의 이해는 로그 아웃 후에도 유지되지만 offline_access 토큰은 암호 변경이 아닙니다.

이와 관련하여 뭔가가 변경 되었습니까?

+0

의 작품에 스패너의 그 조금이 문제입니다 : https://developers.facebook.com/docs/offline-access-deprecation/ –

답변

2

나는 이것을 좀 더 연구했다.

FB는 오프라인 액세스 권한을 사용하지 않습니다. 즉, 앱에 사용자 데이터를 쿼리 할 수있는 제한없는 권한을 부여하는 액세스 토큰을 얻을 수 없게됩니다.

대신 기존 토큰의 유효성을 테스트해야하며 토큰이 만료되면 새로운 토큰으로 교체 할 수 있습니다. 이전에는 만료 된 토큰이있는 경우 새 프로세스를 얻으려면 사용자를 인증 프로세스로 다시 보내야 했으므로 이는 실제로 긍정적 인 발전입니다.

참조 : 나는 컬 그래프 (즉, 독립적으로의 FB에 사용자 세션을) 쿼리 PHP 스크립트에서 그래프 탐색기에서 얻은 토큰을 사용하고 내 자신의 특정 예에서 https://developers.facebook.com/docs/offline-access-deprecation/

, I 그러나 이것을 할 수는 없다.

그래프 탐색기는 그 자체로 앱이며 지난 며칠 동안 deprecate_offline_access 마이그레이션을 설정에서 변경 한 것 같습니다. 즉, 그래프 탐색기를 통해 얻은 기존 offline_access 토큰이 이제 로그 아웃 할 때 만료됩니다.

또한, 필자는 스크립트에서 토큰을 바꾸기 위해 요청할 수 없습니다. 그래야 필요없는 그래프 탐색기 앱에 대한 APP SECRET이 필요합니다.

따라서 표준 인증 프로세스의 일부로 얻은 기존 offline_access 토큰은 계속 작동해야하지만 그래프 탐색기를 통해 얻은 offline_access 토큰은 그렇지 않습니다.

이것은 실제로 확장 권한이 필요한 Graph와의 상호 작용을 스크립트로 작성할 수 없다는 것을 의미합니다. 이러한 모든 상호 작용은 이제 사용자 세션 내에서 발생해야합니다.

나는이의 논리를 볼 수 있지만 cron 작업 등 내가 가정

1

나는 (이전과 새로운 방법을 모두 처리하도록 페이스 북 코드가 작성되었지만) 버그가 도입되었을 수도 있다고 생각할 수도 있습니다. 이 문제를 재현 할 수있는 경우 Facebook에 http://developers.facebook.com/bugs이라는 결함으로 신고해야합니다.

새로운 앱으로 기본 액세스 토큰을 사용하여 확인했습니다. 오프라인 권한 만 요청했습니다. 린터에서 토큰을 확인했는데 괜찮 았어. 나는 페이스 북에서 로그 아웃 한 다음 다시 로그인했다. 그런 다음 토큰을 다시 점검했다. 그리고 그것은 충분히 무효화되었습니다. 내 앱 설정에서 offline_access를 사용 중지로 설정했습니다.

다음 테스트에서는 장애로 설정하고 다시 확인했습니다. 페이스 북은 그 토큰을 무효로 만들었다.

다음 테스트에서는 몇 년 전에 만든 앱으로 확인했습니다. deprecate offline_access가 해제되었습니다. 그리고 확실히 오프 라인 액세스 토큰을 최신 상태로 유지할 수 있었고 전혀 무효화하지 않았습니다.

작년 F8 컨퍼런스에서 만든 앱으로 테스트를 마쳤으며 페이스 북에서 로그 아웃 할 때도 올바르게 동작합니다 (오프라인 토큰을 비평하지 않음).

따라서 앱이 생성 된 시간에 따라 달라질 수 있습니다.

+0

offline_access 토큰의 비추천에 관한 문서에서는 기존 토큰이 계속 작동해야한다고 명시하지만 상태에 따라 보편적으로 보이지는 않습니다. 내 문제는 기존 토큰이 작동하지 않고 새로운 만료 제한이 적용되는 새로운 토큰을 생성하고 기존 토큰을 삭제했을 때입니다. 그래서 나는 이것이 고칠 수있는 버그 일지라도 jengaed라고 생각합니다. –

+0

http://developers.facebook.com/bugs에서 버그를 기록하십시오. 버그 번호와 함께 여기에 다시보고 해 주시면이 질문에 비틀 거린 다른 사람들이 Facebook에 기록 된 것을 볼 수 있습니다. – DMCS

+0

사실, 내가 생각하기에 문제의 스크립트는 지난 60 일 이내에 작성되었습니다. 지난 몇 개월 동안 언젠가는 비추천 프로세스의 일부로 FB가 offline_access 토큰에 60 일 만료를 적용하는 것으로 보였으 나 이전에 발행 된 토큰에는 제한이 없었습니다. 이제 더 최근의 업데이트 후 offline_access 토큰이 0 일 만료와 함께 발급되고 있습니다. 따라서 버그 일 수는 없으며 문서가 부적절 할 수 있습니다. 이미이 dep에 대한 문서에 대한 버그가 실제로 있으므로 추가 할 수 있습니다. –

관련 문제