Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> FB SDK PHP
Gothicbezimienny
post 10.08.2015, 11:39:47
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 5.11.2014

Ostrzeżenie: (0%)
-----


Witam mam oto problem oto kod lecz niestety w $session zawsze zwraca mi NULL. Gdy klikam logowanie normalnie loguje się do fb po udanym przekierowuje mnie na moja stronę lecz nadal jest opcja zaloguj, a ze juz jestem zalogowany ponowne próby użycia przycisku zaloguj nic nie dają. Problem ofc jest z tym ze w $session ciągle jest NULL ale dlaczego i jak to rozwiązać może ktoś doradzić ?
  1.  
  2. FacebookSession::setDefaultApplication(APP_ID,APP_SECRET);
  3.  
  4. $helper = new FacebookRedirectLoginHelper(REDIRECT_URL);
  5.  
  6.  
  7. try {
  8. $session = $helper->getSessionFromRedirect();
  9. } catch(FacebookRequestException $ex) {
  10. // When Facebook returns an error
  11. } catch(\Exception $ex) {
  12. // When validation fails or other local issues
  13. }
  14. var_dump($session);
  15.  
  16.  
  17. if($session){
  18.  
  19.  
  20.  
  21. $session = new FacebookSession($_SESSION['facebook']);
  22.  
  23. $request = new FacebookRequest($session, 'GET', '/me');
  24. $response = $request->execute();
  25. $graphObjectClass = $response->getGraphObject(GraphUser::className());
  26.  
  27.  
  28. $fb = $graphObjectClass;
  29. $name = $fb->getName();
  30. $logout = $helper->getLogoutUrl();
  31.  
  32. $_SESSION['user_login_data']= $name;
  33. $xtpl->assign('name',$name);
  34. $xtpl->assign('logout',$logout);
  35.  
  36. $xtpl->parse('main.fbX');
  37.  
  38.  
  39. }else{
  40.  
  41. $login = $helper->getLoginUrl();
  42.  
  43.  
  44. $xtpl->assign('login',$login);
  45.  
  46. $xtpl->parse('main.fb');
  47. }
Go to the top of the page
+Quote Post
freemp3
post 10.08.2015, 11:57:42
Post #2





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

Ostrzeżenie: (0%)
-----


1. Nie zapisujesz sobie sesji Facebooka w sesji PHP
2. Klasa FacebookSession przyjmuje jako parametr access token oraz opcjonalnie signed request, a nie własną instancję wink.gif
Jak już zapiszesz sesję facebooka w sesji php to możesz się do niej bezpośrednio odwoływać, bez konieczności tworzenia jej na nowo przy każdym przeładowaniu strony.

Ten post edytował freemp3 10.08.2015, 11:57:57


--------------------
Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.

https://www.aroch.pl
https://themeforest.net/user/aroch
https://www.astroblog.aroch.pl
https://www.4geeks.pl
Go to the top of the page
+Quote Post
Gothicbezimienny
post 10.08.2015, 12:06:34
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 5.11.2014

Ostrzeżenie: (0%)
-----


Akurat tą linijkę : $session = new FacebookSession($_SESSION['facebook']); można wywalić pozostałość po wielu wielu zmianach i próbach.

Główny problem tkwi w tym że :

$session = $helper->getSessionFromRedirect(); cały czas zwraca Null i wykonuje się automatycznie cały czas else z if'a.

else{

$login = $helper->getLoginUrl();


$xtpl->assign('login',$login);

$xtpl->parse('main.fb');
}
Go to the top of the page
+Quote Post
freemp3
post 10.08.2015, 12:23:08
Post #4





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

Ostrzeżenie: (0%)
-----


Zamiast pobierać sesję z przekierowania spróbuj w ten sposób:

  1. $signedRequest = new \Facebook\Entities\SignedRequest($_POST['signed_request']);
  2. if($signedRequest->get('oauth_token'))
  3. {
  4. $session = \Facebook\FacebookSession::newSessionFromSignedRequest($signedRequest);
  5. }
  6. else
  7. {
  8. //przekierowanie na formularz logowania
  9. }


--------------------
Niemożliwym jest stworzenie czegokolwiek idiotoodpornego, ponieważ idioci są wyjątkowo pomysłowi.

https://www.aroch.pl
https://themeforest.net/user/aroch
https://www.astroblog.aroch.pl
https://www.4geeks.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 12:04