0

我通过 facebook 在我的应用程序上对用户进行身份验证。执行此操作时,我获取访问令牌并执行验证。但是,在登录后不久,我将不得不向我的用户展示他们的朋友列表。问题是访问令牌到那时已经过期。

鉴于我正在使用 devise、omniauth 和 fbgraph gem,我该如何执行此操作?

想法:

  • 获取新的访问令牌。我该怎么做呢?我是否必须修改我的omniauth_callbacks_controller?
  • 我应该将朋友列表存储在会话变量中吗?

我的omniauth控制器:

def facebook
  @user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)
  if @user.persisted?
    flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Facebook"
    sign_in_and_redirect @user, :event => :authentication
  else
    session["devise.facebook_data"] = env["omniauth.auth"]
    redirect_to new_user_registration_url
end
4

1 回答 1

0

看看这个.. https://developers.facebook.com/roadmap/offline-access-removal/#extend_token

于 2012-04-13T06:43:57.717 回答