2016-03-01 5 views
0

Я создаю ручной поток входа для своего приложения, которое интегрирует некоторые функции facebook. Мне нужно проверить, когда истечет текущий доступ к пользователю. Документальный документ API говорит, что я должен позвонить:Facebook Api Check Access Token Without Hardcoding App Secret

GET graph.facebook.com/debug_token?

input_token = {токен к инспектировать} & access_token = {приложение-токен или прав администратора-маркер}

Так что я сделал это в C#:

 Uri inspectAccessTokenUri = new Uri("http://graph.facebook.com/debug_token?input_token="+access_token+"&"); //IDK which value should have the last parameter 
     HttpWebRequest checkToken = (HttpWebRequest)WebRequest.Create(inspectAccessTokenUri); 
     var response = await checkToken.GetResponseAsync(); 
     Stream stream = response.GetResponseStream(); 
     StreamReader reader = new StreamReader(stream); 
     string data = reader.ReadToEnd(); 
     Debug.WriteLine(data); 

Последний параметр должен быть приложение-маркер:

НО: конечно, я посмотрел, как получить приложение-токен и facebook говорит:

Обратите внимание, что поскольку этот запрос использует секрет вашего приложения, он никогда не должен быть , сделанным в клиентском коде или в двоичном файле приложения, который может быть декомпилирован. Важно, чтобы ваше приложение никогда не делилось с кем-либо. Следовательно, этот вызов API должен выполняться только с использованием кода на стороне сервера. (Facebook Graph API Documentation 1.1.16)

Так что мой вопрос: Могу ли я проверить маркер без приложения-токен или жесткого кодирования в приложение-секрет?

ответ

0

Если срок действия приложения истек, вы получите ошибку ответа на фейсбук. И вы можете поймать это исключение, чтобы справиться с ситуацией, которую вы хотите. Таким образом, вам не нужно запрашивать секретное приложение. Вы также можете использовать fb-uwp sdk, который содержит AccessTokenData для аутентифицированных пользователей

+0

Да, я сделаю это. Я решил создать ручной входной поток и не использовать sdk. –

1
  • Приложение секрет обычно используется серверным приложением, мы его не используем в нашем приложении UWP, его можно декомпилировать.

  • Прочтите официальный документ о графике FB Debug-Token, это можно использовать только при отладке вашего приложения, например, если вы хотите проверить метаданные об определенном токене доступа после публикации своего приложения, ваш код не будет реле на нем.

  • В приложении UWP мы используем класс WebAuthenticationBroker для подключения к поставщикам OAuth, таким как Facebook, Flickr, Google и Twitter. При использовании соединений OAuth требуется техническое обслуживание. Например, информация об истечении срока действия включена в токен доступа, когда мы используем протокол OAuth для аутентификации и авторизации, нам необходимо обновить токен доступа после его истечения.

Из-за этих условий вы можете пересмотреть, что вы можете сделать в приложении UWP и какой API вы должны выбрать.

 Смежные вопросы

  • Нет связанных вопросов^_^