我在Meteor 1.4.3.2中使用accounts-facebook
来允许我的应用用户通过Facebook登录。该应用程序还使用用户文档中的Facebook令牌accounts-facebook
存储进行其他Facebook API调用。
有时,当我尝试拨打电话时,我收到错误:
{
message: 'Error validating access token: Session does not match current stored session. This may be because the user changed the password since the time the session was created or Facebook has changed the session for security reasons.',
type: 'OAuthException',
code: 190,
error_subcode: 460,
fbtrace_id: '...'
}
Facebook says个用户需要重新登录。我建立了一个流程来解决这个问题。当我们得到190/460时,我们将用户文档中的services.facebook.accessToken
属性设置为false
,并通过电子邮件向他们发送一个指向"刷新Facebook登录"按钮,只需通过Facebook再次将它们登录到应用程序。
流程似乎有效。我可以看到accessToken
设置为false。当我点击电子邮件中的链接然后单击"刷新"按钮,我得到一个与前一个令牌不同的令牌。但是,当应用程序尝试发出另一个FB API请求时,它会使用新令牌获得相同的190/460错误。
如果190/460的修复程序是让用户再次登录,为什么我会在用户刷新令牌后继续收到错误?