Я создаю ручной поток входа для своего приложения, которое интегрирует некоторые функции 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)
Так что мой вопрос: Могу ли я проверить маркер без приложения-токен или жесткого кодирования в приложение-секрет?
Да, я сделаю это. Я решил создать ручной входной поток и не использовать sdk. –