【问题标题】:Getting JWT token in ReactJS after redirecting to the Facebook callback link in the ExpressJS api重定向到 ExpressJS api 中的 Facebook 回调链接后在 ReactJS 中获取 JWT 令牌
【发布时间】:2019-12-20 10:36:54
【问题描述】:

想听听您对我以下情况的正确意见:

服务器端: 我在 NodeJS 上使用 Express JS 实现了一个后端 API。身份验证系统基于使用 Passport 的基于 JWT 令牌的实现。我还使用 FacebookStrategy 进行社交身份验证。控制器返回令牌作为社交和本地身份验证的成功响应。

客户端: 作为项目的前端,我使用的是 ReactJS。对于社交身份验证,我从我的后端 API 中放置了一个指向 Facebook 回调 URL 的路由的链接,该 API 返回 JWT 令牌作为响应。当我们点击链接时,它成功重定向到 Facebook 登录页面。在我填写凭据并登录后,它会返回包含页面中令牌的 JSON 响应。

我的担心: 当我从客户端代码使用到后端 API 的链接时,如何获取令牌?

提前谢谢你。

【问题讨论】:

  • 这里有什么问题?您说您已经收到带有令牌的 JSON 响应,请澄清
  • 问题:我点击了一个链接,该链接重定向到后端的 Facebook 回调 URL,它返回令牌作为响应,我在浏览器上看到来自后端的响应:但我想要在客户端访问/使用响应。我没有使用 axios 或 fetch 函数。使用链接完成请求。

标签: javascript reactjs jwt passport.js facebook-authentication


【解决方案1】:

这是不可能的,我的朋友,JS 无法访问当前页面标题或响应,您可以使用 AJAX 来捕获响应和标题以及当前页面不能通过 JS 获取的内容。 如果您想要该 URL,则可以使用以下命令访问它: windows.location 它会为您提供有关当前页面的大量信息,但您无法访问当前页面在页面本身上的响应,您可以做的是将该令牌存储在后端并在组件加载时触发请求以在之前获取它并实施必要的步骤!

Something that might help is Service Worker in this scenario

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2020-07-21
    • 2018-08-08
    • 2020-06-18
    • 2020-06-01
    • 2016-02-17
    • 2013-07-12
    • 2016-12-15
    • 2019-10-10
    相关资源
    最近更新 更多