我写了一个Rails应用程序。我使用omniauth进行身份验证。 session.rb
auth = request.env["omniauth.auth"]
user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)
session[:user_id] = user.id
一切似乎都很正常,但是当我想改变我的脸书状态时,fbgraph不能这样做。我写了这段代码
provider = User.find_by_provider_and_name('facebook', current_user.name)
@facebook = FbGraph::User.me(provider.token)
@facebook.feed!("loanminder-test-message-#{Time.now.utc}")
异常就是那样
LoansController中的FbGraph :: InvalidToken #show
OAuthException ::验证访问令牌时出错:会话没有 匹配当前存储的会话。这可能是因为用户改变了 自会话创建或Facebook拥有以来的密码 出于安全原因改变了会话。
如何解决问题,如何通过Rails更改状态?
答案 0 :(得分:2)
您的存储令牌不再被接受。您需要提示用户再次登录并使用新的访问令牌,或使用以下令牌
app_id|secret
如果你的应用ID是942523352而你的秘密是bc76876876f67676ae,那么你访问令牌是
942523352|bc76876876f67676ae0