Flow przy uzyciu logowania np. przez fb.

0

Hej, chcialbym w swojej apce zrobic uwierzytelnianie zarowno standardowe jak i przez zewnwtrzne zaifane serwisy jak fb czy google+.

Nie wiem tylko czy dobrze rozumiem tego zamysl. W standardowym sposobie rejestruje usera podajac login i haslo i potem logujac sie dodaje do naglowka token, klient sobie zapisuje go gdzies i dolacza do zapytan. To jest ok dla mnie, ale jak to wyglada np dla fb ?

Loguje sie, dostaje od fb token, przesylam z klienta do serwera info z tym tokenem, on sobie za pomoca niego wywoluje w API fb jakies „/me” i dostaje zwrotke z info o sobie i potrzebne dane uaktualniam w bazie danych. Tak to jest ?

0

Facebook implementuje oauth. Ta grafika powinna pomóc to zrozumieć:

0

Ok, nie rozumiem tylko pewnego momentu. Bo to jest tak (jeśli się mylę proszę o poprawienie):

  1. Klikamy w apce na button z FB
  2. FB sprawdza czy odwołujemy się z dobrej APKI
  3. Jeśli tak to dostajemy formularz logowania.
  4. Loguje się i dostajemy jakiś kod ? No właśnie .. co to za kod ?
  5. Przekazujemy ten kod do naszego serwera, który pyta się o token za pomocą tego kodu ?
  6. Dostajemy token do serwera i znowu wołamy FB o dane o "nas"
  7. Wyświetlamy na ekranie info o userze.

Tylko teraz tak ..jeśli w apce mam 3 logowania : fb, google i customowe to jeśli będę miał tabele w bazie danych o userze to te zalogowane przez fb i googla to w kolumnie hasło będą puste a kolumnie token będą miały ten token, który dostały z fb/googla, natomiast ludzie zarejestrowani customowo będą mieli w kolumnie hasło swoje hasło, a w kolumnie token nie będzie nic.

Dobrze kombinuję ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0