我正在用Fb,亚马逊,Twitter,google与cognito实现Js浏览器端代码登录。
已经进入了我可以获得所有4个客户端令牌的阶段,但这些令牌的问题是短暂的并且在1-2小时内到期。
研究显示,Google令牌仅持续1小时,延长使用寿命需要服务器端代码。
FB令牌持续2小时,自动刷新,但仅在用户登录时。令牌将在下次用户回来时过期(比如2天后)。再次,这需要服务器端代码获得更长寿命的令牌。
亚马逊令牌有效期为1小时,Twitter令牌不会过期。
所有帮助表示感谢(链接到文档,经验等)。
浏览器上的JS(不是node.js)
使用Cognito,但AFAIK对令牌的生命没有任何影响。
也欢迎更正。
答案 0 :(得分:3)
尝试在浏览器中延长短期访问令牌并不是一个好主意(尽管有可能,至少对于FB而言),因为那时你必须在你的JS应用程序中暴露你的应用程序的秘密,理论上每个人都可以从中偷走。
您可以通过这种方式放弃对社交应用的访问权限。因此,在服务器端执行此操作更有意义。
见
请注意,由于此请求使用您的应用程序机密,因此绝不能在客户端代码或可以反编译的应用程序二进制文件中进行。重要的是,您的应用秘密永远不会与任何人共享。因此,只应使用服务器端代码进行此API调用。