Не рекомендуется использовать offline_access на facebook с RoR

У нас проблема в нашем приложении RoR. Мы используем аутентификацию facebook с omniauth и ищем друзей пользователя с помощью Koala. Но в последнее время, когда мы пытаемся показать фотографию друга, мы получили эту ошибку:

Koala::Facebook::APIError in Homes#show

Showing /home/daniel/Homes/app/views/shared/_event.html.erb where line #19 raised:

OAuthException: Error validating access token: Session has expired at unix time 1328727600. The current unix time is 1328802133.
Extracted source (around line #19):

16:     <img src="../assets/friends-icon.png" alt="User  profile apicture" height="33" width="43">
17:         <% if current_user %>
18:           <% event.friends_in_event(@person).each do |f| %>
19:             <%= link_to(image_tag(f.fb_picture, :size => "43x33"), person_path(f.id)) %>
20:           <% end %>
21:         <% end %>
22:       </div>

Аутентификация работает хорошо, но facebook уже устарел параметр offline_access, который работал хорошо, но теперь у нас есть эта проблема. Есть ли способ расширить access_token? Или есть другое решение ?.

Это наш omniauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['FB_KEY'], ENV['FB_SECRET'], 
  { :scope => 'email,offline_access,user_photos,publish_stream',
    :client_options => { :ssl => { :ca_path => "/etc/ssl/certs" } } }
end

И наш koala.rb

Koala.http_service.http_options = {
  :ssl => { :ca_path => "/etc/ssl/certs" }
}

Заранее спасибо.

5
задан Dagosi 9 February 2012 в 16:22
поделиться