2012-07-10 7 views
6

Używam uwierzytelniania Facebook dla mojej aplikacji na Androida.Jak bezpieczne logowanie do mojej aplikacji na Androida za pomocą facebook-id?

Uwierzytelniam użytkownika w mojej aplikacji za pomocą Facebook ID [przez HTTP Post do Web API z facebook-id]. Jeśli więc ktoś pozna identyfikator facebook dowolnego użytkownika w mojej aplikacji, może łatwo opublikować adres URL, który dał mu dostęp do aplikacji.

Czy jest jakikolwiek zalecany sposób, aby to zrobić?

Odpowiedz

2

Po zalogowaniu się do POST na Facebooku, facebook poda ci authtoken, który jest unikalny, ale kiedyś straci ważność. Na podstawie tego tokena generowany jest tymczasowy "session_key" (może to być md5 (facebook_token + user_id), przechowuj ten klucz session_key w tobie db i odeślij go do swojej aplikacji

Przy każdym żądaniu z aplikacji na serwer masz aby wysłać ten klucz_sesji i nazwę użytkownika.Na stronie serwera, musisz sprawdzić, czy session_key jest w twojej bazie danych i czy został przypisany do "user_id"

Jeśli wszystko jest w porządku, możesz kontynuować akcję, w przeciwnym razie komunikat o błędzie:

Po wylogowaniu się użytkownika, należy usunąć ten klucz sesji (zostanie on zregenerowany po zalogowaniu się na Facebooku)

Mam nadzieję, że to pomoże.

+0

Korzystam z tokenu dostępu do aplikacji, który nie wygasa i jest taki sam dla wszystkich użytkowników. –

+0

Wymagałoby to, aby tokeny facebookowe mogły być udostępniane między Twoją aplikacją a Twoim API. Nawet jeśli obecnie działa, nic nie może powiedzieć, że nadal będzie działać w następnej wersji systemu. – ZeWaren

1

Gdy użytkownik loguje się na Facebooku, daje token uwierzytelnienia i identyfikator na Facebooku. Sprawdź na serwerze aplikacji, czy token należy do użytkownika [przez https://graph.facebook.com/me?accesstoken=]. Udziel mu dostępu, jeśli jest ważny.

Powiązane problemy