gpt4 book ai didi

node.js - HTTPS 还是 JWT 进行身份验证?

转载 作者:太空宇宙 更新时间:2023-11-04 02:52:11 26 4
gpt4 key购买 nike

我将在 Node js 中使用 JWT 来实现我的身份验证方法。我花了一段时间寻找不同的身份验证方法,最后决定使用 JWT。但是我对基于 JWT 的身份验证感到困惑。

这是我的问题:我们应该通过 HTTPS 发送 JWT 吗?如果是,那么我们为什么要使用 JWT 呢? 为什么不通过 HTTPS 发送所有需要的信息而不使用 JWT

换句话说,当没有 HTTPS 的情况下存在安全问题(例如中间人攻击)时,使用 JWT 进行身份验证的原因是什么?有没有其他身份验证方法可以在不使用 HTTPS 的情况下完美运行?

最佳答案

在这里,您混合了两种不同的协议(protocol)级别。

HTTPS(或更确切地说,TLS - 传输级安全性)是一个传输层 - 数据传输管道,确保您与合法服务器进行通信,并且没有人可以读取或更改交换的数据。 HTTPS 不关心数据本身(例如身份验证)

JWT 通常用作描述客户端身份和其他属性的有效负载(数据本身)的一部分。

最常见的是,您需要 JWT 来确保身份验证或授权,并使用 TLS/HTTPS 来确保没有人可以窃取或更改您的 JWT token 或数据。

HTTPS 可以提供客户端身份验证,但客户端需要拥有其客户端 key 对和证书,这并不是真正免费或易于管理的(例如,这就是电子身份证的工作方式,或者我经常在服务器到服务器的场景中看到它)。

关于node.js - HTTPS 还是 JWT 进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50429209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com