【问题标题】:Best way to handle authentication on a react-redux single page appliction?在 react-redux 单页应用程序上处理身份验证的最佳方法?
【发布时间】:2018-02-18 04:58:22
【问题描述】:

我目前正在向客户发送一个空的 html 文档,其中包含一些脚本,这些脚本使用 react-redux 设置我的单页应用程序。一切都设置好后,我正在使用 AJAX 获取动态数据并确定用户是否已登录。如果用户未登录,他将看到仅对未通过身份验证的用户可用的产品,反之亦然。

虽然我是菜鸟,但这对我来说似乎非常原始,我不知道如何才能做得更好。

那么在 react-redux 应用程序中处理身份验证的最佳方式是什么?

非常感谢您的帮助。

【问题讨论】:

  • 如果您正在寻找文章和教程等,请不要在此处发布,只需去谷歌搜索即可。那里有很多关于 react/redux 身份验证的资源。如果您希望这里有人在 SO 上发布一个非常详细地涵盖该主题的巨大答案,那么很抱歉,但这不是 SO 的重点。谷歌一下,查看一些资源,尝试在你自己的项目中实现它们

标签: node.js reactjs react-redux single-page-application


【解决方案1】:

首先,为了进行身份验证,您需要在客户端拥有一个令牌或会话 ID。所以,应该有接下来的步骤:

  1. 登录后,您会从后端收到 token|session_id 并将其存入 store 和 localstorage,以免页面重新加载后丢失。
  2. 在初始化您的应用程序时,每次都从本地存储中获取令牌并将其放入存储中。

  3. 当您请求产品列表时,将令牌添加到 ajax 请求中(通常在标头中)。

  4. 基于令牌,后端应用程序应返回另一个产品列表。

这是这种情况的常规逻辑,当然它也需要在后端进行工作。

【讨论】:

    【解决方案2】:

    有几个选项:

    1. 您可以通过 npm 安装的 Passport,它具有多种可以通过身份验证的策略,例如 Auth0 Link here

    2. Firebase - 谷歌提供的一种解决方案,可用作插入式身份验证模块。 Link here

    3. Meteor 框架 - 我相信这个框架具有多用户身份验证。 Link here

    【讨论】:

      猜你喜欢
      • 2013-11-25
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      • 2018-08-26
      • 1970-01-01
      • 2012-06-17
      • 2014-05-14
      • 1970-01-01
      相关资源
      最近更新 更多