Oauth 2.0 не может получить токен доступа из значения «код» signed_request

Я перехожу на Oauth 2.0. Мой текущий сайт использует JS SDK, имеет кнопку входа через fb, затем я получаю доступ к Graph, чтобы получить информацию о пользователях.

У меня проблемы с получением токена доступа для получения этих данных из Graph.

Одной из проблем может быть то, что диалоговое окно JS SDK не перенаправляет меня на URL-адрес, который, по его словам, должен быть, то есть тот, у которого ?code=XXXXXXX, который я затем могу использовать для получения токена доступа.

Итак, я посмотрел на php SDK (я использую ASP), чтобы увидеть, как он это делает. Я проанализировал значение подписанного запроса в файле cookie, получил значение в параметре «код» для добавления к URL-адресу токена, но я не могу получить токен доступа. Это значения, которые я использую:

Проанализированные данные signed_request:

{"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

Это ответ:

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

Значение кода имеет правильный формат? Есть идеи, что не так?


person DAC84    schedule 15.12.2011    source источник
comment
Вы не забыли про '&' после 'client_secret=XXXXXX'?   -  person dmirkitanov    schedule 15.12.2011
comment
Извините, это проблема форматирования. У меня есть амперсанд в моем коде. Я внесу поправку.   -  person DAC84    schedule 15.12.2011


Ответы (1)


вот точно такая же проблема...

решение: если код извлекается из полезной нагрузки cookie, оставьте параметр redirect_uri пустым

пытаться

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

работал на меня!

person torto    schedule 15.12.2011
comment
Ах, это сработало! Позор, который документы facebook говорят, чтобы включить его. Большое спасибо. - person DAC84; 15.12.2011
comment
Facebook (не)документация будет моей смертью - person Nick Van Brunt; 30.01.2012
comment
Ха-ха, я нашел этот секрет в выдержке Google удаленной веб-страницы. Чтобы быть более понятным для читателей, redirect_uri должен присутствовать, но указан как пустой. - person Potatoswatter; 27.04.2012