7

Przeprowadzam migrację do Oauth 2.0. Moja obecna strona używa JS SDK, ma przycisk fb-login, a następnie uzyskuję dostęp do Graph, aby uzyskać szczegółowe informacje o użytkownikach.Oauth 2.0 nie może uzyskać tokenu dostępu z wartości "signed" signed_request

Mam problem z uzyskaniem tokena dostępu do pobierania tych danych z wykresu.

Jednym z problemów może być to, że okno dialogowe zestawu SDK JS nie przekierowuje mnie na adres URL, który mówi, że powinien to być plik z kodem = XXXXXXX, którego mogę użyć do uzyskania tokena dostępu.

Więc przyjrzałem się SDK php (używam ASP), aby zobaczyć, jak to działa. Przetworzyłem wartość podpisanego żądania w pliku cookie, otrzymałem wartość w parametrze "code", aby dodać do adresu URL tokena, ale nie mogę uzyskać tokena dostępu. Są to wartości Używam:

analizowany signed_request dane:

{"algorithm":"HMAC-SHA256","code":"2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc","issued_at":1323895617,"user_id":"XXXXXXXXXX"} 

Token URL: https://graph.facebook.com/oauth/access_token? 
      client_id=XXXXXXXX& 
      redirect_uri=XXXXXXXX& 
      client_secret=XXXXXX& 
      code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc 

To jest odpowiedź:

{"error":{"message":"Error validating verification code.","type":"OAuthException"}} 

Czy wartość kodu wydają się być w odpowiednim formacie? Jakieś pomysły na temat tego, co jest nie tak?

+0

Nie zapominasz o "&" po "client_secret = XXXXXX"? – dmirkitanov

+0

Przepraszamy, problem z formatowaniem. Posiadam ampersand w moim kodzie. Zmienię to. – DAC84

Odpowiedz

10

identyczny problem tutaj ...

Rozwiązanie: Jeśli kod jest pobierany z pliku cookie ładowności, pozostawić parametr redirect_uri pusty

spróbować

Reklamowe URL: https://graph.facebook.com/oauth/access_token?client_id=XXXXXXXX&redirect_uri=&client_secret=XXXXXX&code=2.AQCovUOFCduELbna.3600.1323900000.1-773555243|Y_cW4riF4K7el_9a4oVNjL0qvZc

pracował dla mnie!

+0

Ah, które działało! Wstyd, że doktorzy Facebooka mówią, żeby to uwzględnić. Dziękuję bardzo. – DAC84

+2

Dokumentacja na Facebooku (nie) będzie moją śmiercią –

+4

Haha, znalazłem ten sekret w wycinku Google usuniętej strony internetowej. Aby być bardziej zrozumiałym dla czytelników, 'redirect_uri' musi być obecny, ale określony jako pusty. – Potatoswatter

Powiązane problemy