Использование токена доступа facebook с offline_access и javascript - PullRequest
1 голос
/ 27 декабря 2011

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

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

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

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

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

Ответы [ 3 ]

0 голосов
/ 27 декабря 2011

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

0 голосов
/ 18 февраля 2012

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

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

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

<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>
0 голосов
/ 27 декабря 2011

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

...