0

В настоящее время я создаю приложение и API для этого приложения для связи.
Мой API собирает информацию из API графиков Facebook, обрабатывает/обогащает их некоторыми данными в моей базе данных и возвращает их в мое приложение.
Пользователи подключаются к моему приложению с помощью SDK для Facebook. Поэтому при каждом запросе они добавляют токен пользователя Facebook (используя https для обеспечения безопасности), чтобы мой API/сервер мог запросить API Facebook, а также получить идентификатор пользователя из него, чтобы я мог найти данные для этого пользователя в моей базе данных.
Все это прекрасно работает.Подсказка: как проверить, поступает ли запрос API из моего приложения (с использованием токенов Facebook)?

Но для получения ID требуется, чтобы я обратился к Facebook за каждым запросом к моему API. Может быть, я должен хранить токены доступа Facebook по первому запросу к моему API, и для дальнейших запросов просто проверьте, соответствуют ли они? Но это хорошая идея хранить (зашифрованные) токены доступа к Facebook? Я думаю, что я кое-что прочитал о том, что это плохая идея.

Также я подумал о том, что произойдет, если кто-то еще запустит приложение Facebook и, следовательно, узнает другие токены пользователя.
Если этот человек отправит этот токен моему API, он будет считать, что это законный пользователь, не так ли? Есть ли способ сказать Facebook Api, чтобы принимать только токены, созданные из моего приложения для Facebook?
Я узнал о запросе «/ app? Access_token = {token_to_check}», чтобы получить информацию (имя приложения, идентификатор приложения, ...) о токере. Но, спрашивая об этом с каждым запросом API Facebook, я думаю, что это замедлит общий запрос.


TL; DR:
Это хорошая идея, чтобы хранить (зашифрованы) токенов доступа Facebook?
Могу ли я сказать API Facebook, чтобы принимать только токены доступа, созданные моим (Facebook) приложением?
Или вы знаете какой-либо другой способ, как отклонить иностранные токены Facebook?

+0

Начать с https://developers.facebook.com/docs/facebook-login/security – CBroe

ответ

0

Нашел ответ сам:
Похоже, Facebook использует только токены доступа, сгенерированные приложением.
Таким образом, вам нужно только проверить, является ли результат запроса FB api такой ошибкой, чтобы проверить, действителен ли токен доступа.

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