1

У меня есть приложение, у которого есть разрешение offline_access, и я получаю токен доступа через php sdk и сохраняю токен доступа в моей базе данных.Использование токена доступа к facebook с offline_access и javascript

Это приложение работает через веб-сайт, который взаимодействует с facebook, но мы не требуем от пользователя входа в facebook при использовании нашего сайта. То есть для входа и использования нашего сайта не требуется вход в facebook. Именно по этой причине мы используем разрешение offline_access.

Теперь возникает вопрос: как использовать токен доступа в javascript?

Очевидное решение, которое заключается в том, чтобы вставить токен доступа в веб-страницу через php-эхо, было бы небезопасным, потому что в настоящее время мы не обслуживаем страницы по https, и, таким образом, токены перемещаются в обычном тексте. Более того, если какой-либо пользователь оставил свой компьютер без присмотра, злоумышленник может его использовать и получить токен, просто посмотрев на источник сайта.

Есть ли простой способ безопасного использования этого токена доступа? Или я чего-то не хватает?

+0

Стоит отметить, что [доступ в автономном режиме устарела] (https://developers.facebook.com/docs/ автономный режим доступ устаревание /). В Facebook есть блоги о том, как продлить токены с истекшим доступом (https://developers.facebook.com/blog/post/500/), которые должны ответить на некоторые из ваших вопросов. –

ответ

0

Единственный способ безопасного использования токена доступа с вашим JavaScript - это делать запросы AJAX для скриптов PHP. Вы никогда, никогда не хотите, чтобы этот маркер плавал в браузере.

+0

Я представил себе, что это то, что я должен был бы сделать. Спасибо за четкий ответ. – felipe

0

Вы можете сделать вызов AJAX скрипту php (который будет использовать автономный токен) с этой веб-страницы.

0

Если ваша проблема заключается в том, что вы не хотите вызывать Facebook api с вашего сервера с помощью GET, вы можете использовать POST. Я имею в виду: ваша страница на сервере необходимо вызвать API Facebook, так, например, чтобы написать комментарий на странице пользователя, вы должны сделать

https://graph.facebook.com/userID/feed?access_token=XXXXXXXXXXX 

, но в этом случае отображается access_token на адресной строке браузера. Чтобы скрыть параметры, вы можете использовать скрытую форму, которую используют POST, и отправить автоматически яваскрипт

<form action="https://graph.facebook.com/userID/feed" name="formNAME" method="POST">    
<input type="hidden" name="access_token" value="XXXX">  
<input type="hidden" name="description" value="blablabla"> 
</form> 

<script type="text/javascript">  
document.formNAME.submit();  
return; 
</script> 
Смежные вопросы