#php #javascript #ajax #facebook #facebook-graph-api
#php #javascript #ajax #Facebook #facebook-graph-api
Вопрос:
Я создал пользовательский ajax-скрипт для анализа JSON, возвращаемого из facebook graph API feed.
Я смирился с тем фактом, что токен доступа истекает, поэтому, чтобы получить другой, я могу сделать запрос на
https://graph.facebook.com/oauth/access_token?grant_type=client_credentialsamp;client_id=APP_IDamp;client_secret=APP_SECURITY
где APP_ID — это идентификатор приложения, а APP_SECURITY — значения безопасности приложения, зарегистрированные в моей учетной записи Facebook app development.
Однако я беспокоюсь, потому что я делаю эти запросы через ajax, поэтому любой, у кого есть базовые знания chrome / firebug, может получить доступ к моим переменным app_id, app_security и access_token (отныне известные как «Переменные»), хранящиеся в моем файле javascript.
Я не уверен, какие пользователи могут предоставлять такую информацию?
Предоставляет ли токен доступа только для чтения JSON-вывода моей страницы Facebook? Или эта информация может быть использована для более вредоносных целей?
Теперь: прежде чем кто-либо ответит, что я должен использовать php для получения JSON и синтаксического анализа и т.д… Я не могу, потому что требование заказчика — использовать ajax для очевидных асинхронных преимуществ.
Если переменные не представляют угрозы для моей учетной записи Facebook и могут использоваться только для чтения, тогда я продолжу свое программирование!
Однако, если они должны быть защищены… Как я могу безопасно передать переменные в javascript, чтобы сохранить переменную скрытой?
PS. У меня уже есть предварительно написанные php-скрипты для получения переменных. Сразу после метода обеспечения их безопасности при переходе на javascript (при необходимости)
Спасибо
Алекс
Комментарии:
1. НЕ делайте этого. Они не должны быть общедоступными. Даже документы говорят вам об этом. С вашим идентификатором приложения и секретом я мог бы притвориться вашим приложением и делать все, что захочу, с полученными разрешениями, и вы бы несли ответственность. В принципе, эти переменные никогда не должны отправляться клиенту.
2. Спасибо, я просмотрел документацию, но ничего не смог найти. Итак, если срок действия моего токена доступа истекает, как мне заставить мой php-скрипт сообщить моему javascript, что такое новый ключ доступа?
3. О, я такой новичок… Все в порядке, я справился. Спасибо:)
4. Я бы предложил использовать прокси-скрипт, который вы можете вызывать через ajax, который сам выполняет запросы facebook. Таким образом, вы можете контролировать, кто что запрашивает, и это означает, что вы можете сохранить все учетные данные безопасности только на стороне сервера.
Ответ №1:
Как указано, никогда не отображайте APP_ID и APP_SECRET публично.
читать это. Вы узнаете способ автоматического поиска вашего токена доступа с помощью php.
Используя этот php-файл, выполните к нему вызов ajax, и он вернет ваш новый токен доступа.