2
我加载应用程序一次,接收signed_request并从中检索用户令牌,然后使用内部链接完成iframe中的所有转换(无签名请求)。如何使用发布请求更新用户访问令牌?
我有几个用例需要处理。用户访问令牌过期之前:
- 用户点击了一个链接上(不阿贾克斯)和发送GET请求
- 用户填写表格,发送POST请求
- 用户发送Ajax请求需要的服务器以访问Facebook
Nr 1是最明显的情况下,我可以简单地重定向用户/授权,因为没有交易。 Nr3可以用解析服务器中的特殊错误并重定向到/ authorize的相同方式来解决。
Nr2是最不愉快的情况,因为我使用的是非事务性的mongodb。因此,我看到的唯一解决方案是 - 在做任何事之前,我需要检查访问令牌是否与我有关,如果它无效,请将整个请求体保存在会话中,重定向到/ authorize,然后再次处理请求。但是,如果有效,则无法保证我的交易成功,但我对此感到满意。
所以我认为真正的问题是......你如何处理这些情况?你如何刷新令牌?你如何处理它们?也许我错过了一些明显的东西?
任何想法将不胜感激。谢谢!