javascript - 如何在浏览器中获取 JS 代码的长期身份提供者 token

标签 javascript facebook-graph-api twitter-oauth amazon-cognito google-identity

我正在使用 Cognito 实现 Js 浏览器端代码登录 Facebook、Amazon、Twitter、google。

已经到了我可以获取所有 4 个客户端 token 的阶段,但问题是这些 token 是短暂的,会在 1-2 小时内过期。

研究表明 Google token 只能持续 1 小时,要延长生命周期需要服务器端代码。

FB token 可持续 2 小时,自动刷新,但仅限用户登录时。下次用户回来时(比如 2 天后), token 将过期。再次强调,这需要服务器端代码来获取生命周期更长的 token 。

Amazon token 的有效期为 1 小时,Twitter token 不会过期。

感谢所有帮助(文档链接、经验等)。

浏览器上的 JS(不是 Node.js)

使用 Cognito,但据我所知,它对 token 的生命周期没有任何影响。

也欢迎指正。

最佳答案

尝试延长浏览器中的短期访问 token 并不是一个好主意(尽管这是可能的,至少对于 FB 来说),因为那样你就必须在 JS 应用程序中暴露你的应用程序的 secret ,理论上每个人都可以从中窃取它。

这样您可能会失去对社交应用程序的访问权限。因此,在服务器端执行此操作更有意义。

查看

Note that because this request uses your app secret, it must never be made in client-side code or in an app binary that could be decompiled. It is important that your app secret is never shared with anyone. Therefore, this API call should only be made using server-side code.

关于javascript - 如何在浏览器中获取 JS 代码的长期身份提供者 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32450593/

相关文章:

api - Twitter API 仅应用程序身份验证

javascript - 在Reactjs中根据条件导入组件(Conditional based import)

javascript - 在 Vanilla JS 中使用 ReplaceWith 将一个元素替换为 DOMstring 或多个元素

php - 用于页面提要的 Facebook 实时更新 API

java - Twitter4J 仅向我进行身份验证

javascript - 如何在 Parse 云代码上安装外部 javascript 库

javascript - Meteor JS - 如何结合添加和编辑模板

javascript - JS 监听 db/cookies/localhost 文件中的更改并立即使用react

ios - 在 Swift 4 中读取来自 Facebook Graph Request 的响应

ios - Facebook LoginManager 回调/PrepareforSegue Swift