Tworzę aplikację internetową, w której otrzymuję informacje o użytkowniku z jego facebookowego api po zalogowaniu się przez facebooka w celu korzystania z mojej aplikacji internetowej.

Mam kod PHP, który udaje się uzyskać access_token offline_access od użytkownika, gdy loguje się on do mojej aplikacji.

Nie wiem jednak, co zrobić z tym tokenem. Czy wstawiam go do bazy danych, gdy wstawiam inne informacje o nowym użytkowniku do mojej bazy danych, aby mieć do niego dostęp, gdy użytkownik jest w trybie offline? Jeśli tak, czy powinienem traktować go tak samo jak hasło?

Wszelka pomoc/sugestie są bardzo mile widziane.

1
Marina 11 sierpień 2011, 00:15

3 odpowiedzi

Najlepsza odpowiedź

W zależności od Facebook SDK należy przechowywać sesję użytkownika (sdk2.x) lub tylko token dostępu (sdk3.x). Najlepszym miejscem do przechowywania jest baza danych. Zazwyczaj zapisuję tokeny przy tworzeniu użytkownika i odświeżam zapisany token przy logowaniu użytkownika (bo tokeny wciąż mają czas ważności).

Następnie, gdy musisz użyć tokena (lub sesji), powinieneś użyć jednego z nich

setAccessToken($stored_token)

Lub

setSession($stored_session)

Mam nadzieję, że to pomogło.

1
Rinat 11 sierpień 2011, 00:43

Tak, przechowujesz token w swojej bazie danych. Nie, bezpieczeństwo na tym nie jest zbyt dobre. Nie możesz traktować tego jak hasła, byś zmienił i zaszyfrował hasło, ale musisz zachować oryginalną wartość tokena dostępu. Jest to fundamentalne dla OAuth, ufasz dostawcy aplikacji (Tobie) z „kluczami do królestwa”.

1
Spike Gronim 11 sierpień 2011, 00:40

Dzieje się tak tylko wtedy, gdy musisz publikować na swojej tablicy, a użytkownik sam tego nie publikuje. Od Ciebie zależy, czy potrzebujesz tej funkcji.

0
Nav 11 sierpień 2011, 00:39
Ten token jest potrzebny do dowolnego wykorzystania FB GraphAPI. Zapytania znajomych, profil, posty itp.
 – 
Spike Gronim
11 sierpień 2011, 00:40