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.
3 odpowiedzi
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.
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”.
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.
Podobne pytania
Nowe pytania
Platforma Facebook umożliwia programistom integrację ich aplikacji bezpośrednio z usługą sieci społecznościowej Facebook. Użyj tego tagu w przypadku pytań, które mogą pojawić się podczas tworzenia aplikacji DLA Facebooka. Ten tag NIE jest przeznaczony na pytania związane z korzystaniem z witryny Facebook lub oficjalnej aplikacji Facebook. NIE jest również przeznaczony do pytań typu „Chcę wdrożyć funkcję podobną do tej, którą oferuje Facebook”.