我的应用在客户端使用 Facebook Javascript SDK 授权,授权用户应用从 Facebook API 获取访问令牌,使用带有签名请求和提供的 facebook cookie code
,并将其存储到数据库中。
一切正常,但我想知道,什么时候应该刷新存储的访问令牌?如果用户更改了密码并再次登录/连接怎么办。
据我了解,现在她有了新的访问令牌,应用程序应该从 Facebook 加载它。但是我怎么能理解什么时候应该检查一个新的令牌呢?使用 facebook cookie 检查每个请求不起作用,因为每个用户每秒的请求很少(如果她没有更改密码,则事件)。或者也许我做错了什么?
我是说:
- 我已经在客户端授权用户
- 我有带有签名请求的 cookie
- 签名请求足以在服务器端授权用户(验证用户凭据)
- 当用户用户向我的应用发出请求时,我可以
access token
随时通过调用 Facebook API 来获取(因为我需要code
来自签名的请求)。所以,当我没有存储access token
或现有access token
已过期时,我正在这样做。 access token
只是存储在数据库中,可以随时在不同的线程中使用,可能几分钟后(意味着我们没有用户请求和带有签名请求的 cookie)- 如果存储
access token
未过期,但在 facebook 端无效怎么办?我需要获取新access token
的,但此时 cookie 已经消失了。
目前我只看到一种方法:将code
签名请求存储到数据库中,当我们发现我们有 invalidaccess token
时,尝试加载它。但我注意到这是正确的方法,并且在大多数情况下不太有用