【问题标题】:Easiest Node.js/Express authorization最简单的 Node.js/Express 授权
【发布时间】:2019-05-05 17:36:40
【问题描述】:

我正在为我们的前端创建 API,但我无法为基本的 Node.js/Express 授权需求找到最简单的解决方案。我已经进行了身份验证,但我想保护特定的 API 路由。

示例案例: 用户只能获取(和编辑)自己的个人资料,因此他无法获取其他人提供的电子邮件地址

我已经阅读了有关会话的信息,也阅读了有关 JWT 的信息。不太确定要走哪条路 - 我不需要任何花哨的东西,只要能保护用户数据不被未经授权的用户获取。

我正在使用 MariaDB 和本地身份验证策略(电子邮件/密码)。

【问题讨论】:

    标签: node.js express session jwt


    【解决方案1】:

    如果您已经实现了本地身份验证策略,我将为您要保护的 API 资源添加 JWT。使用护照库非常容易。

    使用 JWT,您可以获取发送请求的用户并进行所需的所有安全检查。

    【讨论】:

    • 注销怎么样?删除令牌会完成这项工作还是还有更多工作要做?
    • JWT 令牌是自有内容,建议包含过期日期,过期后无法再次使用令牌。如果您设置的过期日期不是很长,则足以控制它。您可以使用刷新令牌来补充非常短的过期时间。
    • 我还发现了这篇文章:medium.com/devgorilla/how-to-log-out-when-using-jwt-a8c7823e8a6,这就是为什么我在苦苦挣扎的原因,因为令牌似乎比会话少麻烦,而且控制力也少了一点。另一方面 - 大型服务正在以某种方式使用这些......
    • 我已经使用它很长时间了,我建议使用它比使用会话更好。您可以使用刷新令牌和调整时间添加一些控件。也看看这篇文章:solidgeargroup.com/…
    • 我写了那篇文章,谢谢:)。我们通常实现注销的方式是委托客户端负责删除令牌。暂时你没有token,注销也是一样的。我们通常使用很短的过期时间,并且客户端必须实现自动刷新令牌,因此每次令牌过期时,客户端都会自动为用户透明地刷新令牌。有了这个,您可以禁止用户再次验证,并取消其刷新令牌。
    猜你喜欢
    • 2016-04-28
    • 2013-12-24
    • 2016-01-26
    • 1970-01-01
    • 2016-03-05
    • 2015-02-10
    • 2018-11-05
    • 2011-02-24
    • 1970-01-01
    相关资源
    最近更新 更多