2013-05-22 12 views
9

Mam internetowy interfejs API REST dla aplikacji mobilnej, która obsługuje klasyczne logowanie/logowanie przy użyciu hasła użytkownika i tokena.Jak zaimplementować bezpieczny login/rejestrację Facebooka/połączyć serwis internetowy dla aplikacji mobilnej?

Od momentu rejestracji bez potwierdzenia wiadomości e-mail w jaki sposób mogę wprowadzić bezpieczną rejestrację/logowanie/łączenie z usługą Facebook?

Moje pierwsze podejście: ja się z aplikacji mobilnej facebook_id, facebook_email, facebook_name: użytkownik

  • wyszukiwania przez facebook, jeśli istnieje idealny zwrot, że użytkownik, inny tworzenia nowego użytkownika z tych params

  • issue: Zakładam, że facebook_id może być łatwo znaleziony przez inną aplikację .. więc nic mnie nie powstrzyma, zakładając, że jestem kimś innym i zaloguj się na jego facebook_id

  • możliwe rozwiązanie: Get access_token również z aplikacji mobilnej i sprawdzić po stronie serwera, że ​​access_token jest odpowiednia w stosunku do wartości facebook_email otrzymał

Innym problemem mogą być:

  • Osoba A tworzy klasyczne konto z [email protected] e-mailem
  • Osoba B, tydzień później, łączy swoje konto na Facebooku (z tym samym adresem e-mailowym [email protected]). Pierwszym pomysłem byłoby połączenie konta klasycznego z tym kontem na Facebooku. Ale wtedy Osoba B przejmie konto Osoby A.

Opcjonalnie: także co by to najlepsza praktyka dla tokena wydechu na aplikacjach mobilnych. Przeczytałem coś około 2 godzin, ale mimo to nadal uważam, że aplikacja facebook jest nadal rejestrowana po pół roku.

Aby zapewnić bezpieczeństwo, załóżmy, że mogę uzyskać cokolwiek ważnego (access_token, e-mail, ...) od strony klienta w moim serwisie: jaka jest najlepsza praktyka, która może zapewnić najlepsze zabezpieczenie w tym przypadku: nawet zasady client-side: czy powinny istnieć 2 odrębne usługi logowania i rejestracji? W każdym razie, szybka sekwencja guildeline/krok po kroku byłaby doskonała.

+0

Mam ten sam problem. Znalazłeś rozwiązanie? – Lee

Odpowiedz

1

Czy sprawdziłeś numer Facebook Developer Login documentation? Obejmują one login flow i generating user & app tokens (przez wywołanie zestawu SDK FB dla JavaScript (FB.GetAuthResponse), w którym to przypadku można zmapować identyfikator aplikacji do). Wygaśnięcie tokena jest również obsługiwane przez zestaw SDK FB. Przepływ danych logowania w Androidzie wygląda dość prosto, a przepływ logowania do iOS wygląda jeszcze łatwiej.

+5

Nie chodzi o to, jak korzystać z Facebooka API. To jest jak zaprojektować moje serwisy internetowe, aby traktować wszystkie przypadki użycia (głównie te wymienione w pytaniu) –

Powiązane problemy