我的应用程序使用在客户端的JavaScript的Facebook SDK授权和授权的用户获取应用程序的访问令牌来自Facebook的API,使用Facebook的cookie签名的请求,并提供code
,并将其存储到数据库中。当我应该加载一个新的访问令牌?
一切工作正常,但我不知道,当我要刷新存储访问令牌?如果用户更改了密码,并且已经登录/重新连接,该怎么办?
据我了解,现在她有新的访问令牌,并且应用应该从Facebook加载它。但是我怎么能理解我什么时候应该检查新的令牌?使用facebook cookie检查每个请求cookie不起作用,因为每个用户每秒的请求数很少(事件如果她没有更改密码)。或者,也许我做错了什么?
我的意思是:
- 我已经授权的客户端用户
- 我有饼干与签名的请求
- 签名的请求是相当足够的授权服务器端用户(验证用户凭据)
- 我可以通过调用API的Facebook得到
access token
,随时随地当用户用户发出请求,我的应用程序(因为我需要签名的请求一个code
)。所以,我这样做,当我没有存储access token
或现有access token
已过期。 access token
只是存储在数据库中,并且可以随时使用,在不同的线程,也许几分钟后(意思是,我们没有与签名的请求用户请求和饼干)- 如果存储
access token
没有过期,但无效在脸上?我需要获取新的access token
,但此时cookie已经消失。
目前我看到的只有一条路:从签名的请求商店code
到DATABSE,当我们发现我们有无效access token
,尝试加载它。但我记下确定它是正确的方式,并没有那么多的可用于大多数情况下
这是否意味着无法将客户端Javascript身份验证与服务器端身份验证结合起来?我的意思是,它足够服务器解析Facebook cookie来授权用户在服务器端。但是这个cookie不包含访问令牌,并且服务器不知道是currenlty存储的访问令牌是否仍然有效,或者不是。 –
您没有理由参与cookie,请让SDK为您做。随着每个令牌的到期时间(应用令牌除外),你可以检查该令牌是否仍然有效,如果有的话,它有多长时间。至于js/server auth,正如我写的那样,你可以发送一个客户端令牌给服务器,但是这是毫无意义的,除非你扩展它。 –
似乎我们正在谈论不同的事情。我已更新了我的问题,请你看一下,好吗? –