javascript - 重定向到 ExpressJS api 中的 Facebook 回调链接后在 ReactJS 中获取 JWT 令牌
问题描述
我想对我的以下情况提出正确的意见:
服务器端:我在 NodeJS 上使用 Express JS 实现了一个后端 API。身份验证系统基于使用 Passport 的基于 JWT 令牌的实现。我还使用 FacebookStrategy 进行社交身份验证。控制器将令牌作为社交和本地身份验证的成功响应返回。
客户端:作为项目的前端,我使用的是 ReactJS。对于社交身份验证,我从我的后端 API 中放置了一个指向 Facebook 回调 URL 的路由的链接,该 API 返回 JWT 令牌作为响应。当我们点击链接时,它成功重定向到 Facebook 登录页面。在我填写凭据并登录后,它会返回包含页面中令牌的 JSON 响应。
我的担忧:当我从客户端代码使用到后端 API 的链接时,如何获取令牌?
先感谢您。
解决方案
我的朋友,这是不可能的,JS 无法访问当前页面标题或响应,您可以使用 AJAX 来捕获响应和标题,以及当前页面不能通过 JS 获取的内容。如果您想要 URL,则可以使用以下方法访问它: windows.location 它会为您提供有关当前页面的大量信息,但您无法访问当前页面在页面本身上的响应,您可以做的是将该 Token 存储在后端并在组件加载时发出请求以获取它并执行必要的步骤!
推荐阅读
- php - 格式异常(格式异常:意外字符(在字符 1)json
- c# - 有人可以解释这段 MVVM 代码吗
- ruby-on-rails - 如果嵌套属性为空,则从数据库中删除现有的嵌套属性记录
- ios - 反应原生 webview 缓存不适用于 IOS?
- nosql - DynamoDB 不按顺序显示项目
- entity-framework-6 - MapToStoredProcedures 不可用
- java - 如何识别 SQLite 数据库查询的异常?
- javascript - 将对象数据引用到另一个对象 -> object.property.OTHEROBJECT.PROPERTY.length
- javascript - 一些 jquery 代码不工作,而另一些工作正常
- java - @Asynchronous 在抽象类中工作吗?