Получить oAuth 2.0 токен доступа из приложения asp.net webforms iframe canvas - PullRequest
0 голосов
/ 19 ноября 2010

Вопрос говорит сам за себя:

Как получить токен доступа для использования в вызовах Graph API из приложения asp.net webforms 4.0 iframe canvas.

Мое приложение Canvas было настроено для использования OAuth 2.0 для Canvas (бета) среди прочего.

alt text

Это означает, что я получаю параметр signed_request в моем iframe, который я успешно читаю.

Из официальной документации по аутентификации на холсте

Параметр signature_request является объединением строки подписи HMAC SHA-256, точки (.) И объекта JSON, закодированного в base64url.

В документации есть php-код, который декодирует signed_request, но я не смог правильно его реализовать в C #, потому что, честно говоря, я предпочитаю не заново раскручивать колесо, а использовать другой код, имеющий уже был проверен.

Именно здесь снова начались мои поиски хорошего C # Facebook SDK (поскольку Facebook меняет все каждые несколько месяцев, библиотеки обычно устаревают).

В прошлом я использовал инструментарий Facebook Developer Codeklex , но, похоже, он устарел, а последний стабильный релиз очень стар (во времена Facebook API)

Несколько месяцев назад использовался Официальный Facebook C # SDK от GitHub, но в нем полностью отсутствует поддержка аутентификации.

Теперь я нашел в Nuget и мне очень понравился SDK для Facebook C # от Натан Тоттен , который является одним из ведущих экспертов Facebook здесь, в StackOverflow.

Если вы, Натан, читаете это (или любой, кто также использует этот SDK), как я могу использовать этот SDK, чтобы получить токен доступа для использования в моем приложении canvas.

В любом случае, если есть лучший способ получить токен, возможно, с библиотекой Javascript, пожалуйста, дайте мне (и людям, которые интересуются так же, как я), знать.

1 Ответ

1 голос
/ 20 ноября 2010

Привет, Карлос.Таким образом, чтобы получить токен доступа, вам просто нужно сделать следующее после аутентификации пользователя:

FacebookApp app = new FacebookApp();
var accessToken = app.Session.AccessToken;

Также посмотрите мой ответ на этот вопрос: facebook-C # -sdk MVC "Hello World""app - как получить токен доступа?

Надеюсь, это поможет, в противном случае, дайте мне знать, если у вас есть другие вопросы.

...