Rails, Facebook и Koala

#ruby-on-rails #ruby #facebook #koala

#ruby-on-rails #ruby #Facebook #koala

Вопрос:

Обратите внимание на безопасный формат cookie Facebook

Facebook предоставляет код OAuth в своем новом формате защищенных файлов cookie, который Koala автоматически обменивает на токен доступа. Поскольку это связано с вызовом серверов Facebook, вам следует рассмотреть возможность сохранения токена доступа пользователя в их сеансе и вызывать get_user_info_from_cookies только при необходимости (access_token отсутствует, вы обнаружите, что срок его действия истек и т.д.). В противном случае вы будете вызывать Facebook каждый раз, когда пользователь загружает страницу, замедляя работу вашего сайта. (По мере того, как мы будем находить лучшие практики для этого, мы будем обновлять эту вики.)

Позвольте мне прояснить: даже если я использую Javascript SDK для анализа файлов cookie, мне все равно нужно выполнить межсерверный вызов facebook? Не делает ли это весь java script SDK для аутентификации пользователя бесполезным? Мне всегда нужно проверять файлы cookie (чтобы у меня не было устаревшего токена доступа), поэтому я каждый раз вызываю facebook?

Ответ №1:

В этой цитате говорится о снижении нагрузки на Ruby за счет отказа от повторной проверки токена OAuth с помощью обмена ключами между Ruby и FB при каждом вызове.

Итак, вы можете сохранить токен в session / db / своем собственном cookie / и т.д. Или вы можете повторно проверить его в JS SDK FB и передать его вам как часть вашего запроса.