首页 > 解决方案 > 重定向到 ExpressJS api 中的 Facebook 回调链接后在 ReactJS 中获取 JWT 令牌

问题描述

我想对我的以下情况提出正确的意见:

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

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

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

先感谢您。

标签: javascriptreactjsjwtpassport.jsfacebook-authentication

解决方案


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

在这种情况下,可能有帮助的是 Service Worker


推荐阅读