2012-09-03 1 views
1

설명 만료 : 나는 OAuth를 서비스에 문제가FB의 OAuth를 반환 토큰에 액세스하지 않습니다하지만 값

"을 무작위로"반환 값이 아닌 "만료".

응용 프로그램은 간단한 WebRequests 및 Redirects (SDK 없음)와 함께 서버 측 인증을 사용하며 documentation과 완전히 일치합니다.

"만료"값을 자체 데이터베이스에 저장하며이 정보를 사용하여 액세스 정보가 만료 (또는 곧 만료 됨) 될 때 사용자에게 다시 인증하도록 요청합니다.

Google은 어떤 방식 으로든 액세스 기록 갱신을 자동화하거나 일괄 처리하지 않습니다. Accesstokens는 Server-Side 인증을 통해서만 새로 고쳐집니다. 즉 프로세스는 항상 사용자가 시작합니다.

이제 우리는 일부 (전부는 아니지만)이 같은이 만료 된 토큰의 우리가하려고 할 때 새로 고침 것으로 ​​나타났습니다은 OAuth를 서비스 하지 반환 사용자가 자신이 참으로한다는 것을 재확인에도 불구하고 4 단계에 대한 값을 만료하지 그의 페이스 북 계정에 액세스 할 수있는 권한을 부여하고 싶습니다. accesstoken은 괜찮습니다.

다른 토큰에서는이 문제가 발생하지 않습니다. 이 문제는 무작위로 발생하는 것으로 보이지만 일 수도 있고 일 수도 있습니다. 일부 사용자는 manage_pages 권한을 부여 받았고 다른 사용자는 그렇지 않은 사용자 일 수 있습니다. 이것은 그러나 추측이며 나는 현재 이것을 테스트 할 수 없습니다.

사용자가 직접 앱 설정으로 이동하여 해당 앱에서 앱을 삭제하면 문제가 "해결"될 수 있습니다. 서버 측 인증이 다음에 수행되면 OAuth 응답에는 예상대로 만료 값이 포함되므로 이후의 모든 호출이 해당 사용자를 인증합니다.

질문 :

  • 무엇입니까 또는이 (불법) 행위에 대한 원인이 될 수 있습니까?
  • 영향을받은 토큰을 어떻게 수정할 수 있습니까?
  • 어떻게 이런 일이 발생하지 않도록 할 수 있습니까?

+0

https://developers.facebook.com/bugs/339375252810525, https://developers.facebook.com/bugs/251154038319134 – CBroe

+0

CBroe, 지금은 적어도 이것이 우리가 아는 것은 아닙니다. 하고 있었다. (FB는이 버그에 대해 정말로 신경 쓰지 않습니다) –

+0

와우! 나는이 버그를 7 개월 후에 치었지만 여전히 문제가 있습니다. :-(:-((--(이제 리팩터링하여 내 앱이 60 일이 지나면 만료되는 것으로 추측합니다 .bah humbug. manage_pages 권한을 요청하면 사용자의 무제한 액세스 권한을 얻을 수 있습니다. 그게 sweeeeet 일 것이다 ... :-) – chmac

답변

0

이 분명히 알려진 버그, 사전에 감사합니다. (CBroe의 의견보기)