2011-10-06 4 views
2

Facebook의 Android API를 사용하고 있으며 한 가지 예외를 제외하고 모든 것이 예상대로 작동합니다. 장치에 설치된 Facebook 앱을 떠날 때 (이것은 독립 실행 형 앱이므로 API 또는 내 앱과 아무 관계가 없습니다) Facebook 객체에서 logout()을 호출하면 Facebook 객체가 올바르게 void 다음에 객체를 실행하면 페이스 북 앱에서 로그인 데이터를 가져오고 로그인이 지속됩니다.Facebook 앱을 사용하는 경우 Android에서 Facebook API를 통해 로그 아웃하는 방법이 있습니까?

기기에 Facebook 앱이 설치되어 있지 않으면 모든 것이 완벽하게 작동합니다.

페이스 북의 앱이 로그인을하지 못하게하는 것에 대해 간과 할 수있는 메커니즘이 있는지 궁금하거나 내 클라이언트에게 알릴 필요가 있습니다. (이것은 클라이언트를위한 맞춤 앱입니다. 시장)에서 그들이 실행될 때 그들이 실행하고있는 장치에서 페이스 북의 앱을 제거해야만 할 것인가?

답변

4

Facebook Android API를 말할 때 Facebook Android SDK를 의미합니까?

그렇다면 권한 부여를 호출 할 때 SSO (Single Sign On) 또는 OAuth 2.0 대화 승인인지 여부를 지정할 수 있습니다. 기본값은 SSO입니다. SSO로 승인하고 Facebook 응용 프로그램이 존재하고 로그인 한 경우 Facebook 서버 근처에서 아무런 권한없이 권한 부여가 성공합니다.

SSO를 사용하지 않고 OAuth 2.0 대화 승인을 사용하는 경우 사용자는 초기에 로그인 대화 상자와 앱 승인 대화 상자를보고 로그인/승인에 성공하면 SDK는 후속 승인을위한 액세스 토큰을 보관합니다 .

아쉽게도 SDK 로그 아웃은 SSO를 고려하지 않습니다. OAuth 2.0 expiresession을 수행하고 액세스 토큰을 지우지 만 사용자가 로그 아웃했다는 사실을 Facebook 앱에 알리지 않습니다. 즉, 다음 인증을 수행 할 때 (Facebook은 SSO라고 가정) 페이스 북 앱이 아직 로그인 된 상태라면 페이스 북 서버 근처에 가지 않고 인증이 성공한다는 것을 의미합니다.

앞으로는 SSO를 사용하지 않고 OAuth 2.0 대화 승인이 필요합니다 (authorize(FORCE_DIALOG_AUTH) 사용). 페이스 북 앱이 존재하고 로그인하더라도 사용자가 로그인해야하지만 로그인이 지속되는 것을 막을 수 있습니다.

+0

우수! 예, 로그인을 계속 유지할 필요가 없습니다. 이 앱은 공공 장소에서 사용자가 사용한 후에 사용자가 사용하도록 특별히 고안되었으며 실제로 사용자 B가 사용자 A로부터 계속 로그인 한 경우에 대비해야합니다. 어떤 방식으로 로그를 지정하는지 명확히 설명해 주실 수 있습니까? - 로그인 할 때마다 (SSO 대 OAuth) 로그인 할 필요가 있습니까? –

+0

신경 쓰지 마세요, 무슨 뜻인지 알 겠어 ... Facebook.FORCE_DIALOG_AUTH은 세 번째 매개 변수이며, 그러면 내가 필요한 것은 ... 대단히 감사합니다! –

관련 문제