HTTPS 通信是否需要 JWT?

2024-01-16

我正在开发一个 MEAN 堆栈应用程序,目前正在设置一个帐户系统。我看过几个关于身份验证的教程,全部使用JWT.

我想知道 JWT 是否可以用作通过非安全连接(如 HTTP)来保护通信传输的方法?

我已经设置了 HTTPS 从 Angular 4 前端到 NodeJS + Express 后端进行通信,因此想知道是否需要 JWT 来保护我的通信?


JWT 不应与加密相混淆。从jwt.io https://jwt.io/introduction/:

JSON Web Token (JWT) 是一个开放标准(RFC 7519) https://www.rfc-editor.org/rfc/rfc7519定义了一个 紧凑且独立的方式安全地传输信息 各方之间作为 JSON 对象。

JWT 使用公钥/私钥对进行签名,因此可以验证发送者,并验证有效负载未被修改。但是,JSON Web 令牌是明文形式的。

var token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ";

var payload = token.split('.')[1];

console.log('Payload: '+atob(payload))

Below is a figure from jwt.io https://jwt.io/introduction/ showing the authentication flow when using JWT. enter image description here

您需要 SSL/HTTPS 才能encrypt的沟通。如果没有 SSL/HTTPS,攻击者可以嗅探网络流量并获取 JWT,因此您的应用程序很容易受到中间人攻击。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTPS 通信是否需要 JWT? 的相关文章

随机推荐

  • 构建 SparkSession

    我有在齐柏林飞艇担任翻译的火花 我使用的是Spark2 0 我构建了一个Session Create 一般来说 你不应该初始化SparkSession nor SparkContext在齐柏林飞艇 Zeppelin 笔记本配置为为您创建会话
  • Haskell 中 (^) 的奇怪行为

    为什么 GHCi 下面给出了错误的答案 GHCi gt 20 24373193905347 12 2 20 24373193905347 24 4 503599627370496e15 Python3 gt gt gt 20 2437319
  • 从沙箱 iFrame 到主窗口的 PostMessage,origin 始终为 null

    关于 javascript postMessage 事件的事件起源 我不明白一些事情 这是我的主页 h1 Test h1 h2 Outside h2 和我的 i
  • 在 Saleor 中编辑模型并扩展数据库结构

    我最近将 Saleor 2 9 分叉为一个网络应用程序 我正在为一家艺术画廊构建该应用程序 该画廊希望展示其待售产品并为他们的艺术家提供一些宣传 我希望能够拥有一堆卡片 例如 我们的团队 组件 从后端的艺术家表中提取数据 该表存储有关艺术家
  • C++ 重载宏

    我看到了重载宏的不同解决方案和变通方法 但我似乎在这一点上遇到了困难 我有一个PRINT DEBUG打印到 Visual Studio 调试器的宏 define DEBUG PRINT message RPTN 0 message n VA
  • Node.js WriteStream 在关闭之前不会将数据写入文件

    我怎样才能将数据写入文件WriteStream write 叫做 编辑 事实证明 当我使用 REPL 并调用该函数时 这是有效的 但是 这在我的程序中不起作用 import as FS from fs import LetterGroup
  • 'this' 关键字作为属性

    我很了解 C 但这对我来说很奇怪 在一些旧程序中 我看到过这样的代码 public MyType this string name some code that finally return instance of MyType 怎么称呼
  • 堆和栈内存是如何管理、实现和分配的?

    在 C C 中 我们可以在堆栈或堆上存储变量 函数 成员函数 类的实例 每一项是如何实施的 它是如何管理的 高层 gcc 是否预先分配一块内存用于堆栈和堆 然后根据请求分配出去 原始内存是来自RAM吗 函数可以分配在堆上而不是堆栈上吗 澄清
  • 为什么会话 bean 方法在抛出 RuntimeException 时抛出 EjbTransactionRolledbackException

    我试图通过约束验证来持久化实体 当调用持久化时 抛出约束并且调用者得到EjbTransactionRolledbackException 所以我尝试显式调用验证并抛出ConstraintViolationException RuntimeE
  • 如何在plsql中动态定义类型

    我有一个这样的程序 create or replace procedure pname tn varchar2 is here i want to declare the variable col1 tn COL ID begin end
  • Firebase 确认电子邮件未发送

    我已成功设置 Firebase 电子邮件 密码身份验证 但出于安全原因 我希望用户确认她 他的电子邮件 Firebase 网站上写道 当用户使用电子邮件地址和密码注册时 系统会发送一封确认电子邮件以验证其电子邮件地址 但是当我注册时 我没有
  • XMMatrix 的访问浮点数 - () 运算符不起作用

    我正在尝试在 DirectX 中做一些 3D 工作 我正在从 OpenGL 迁移 但遇到了障碍 我想访问 XMMATRIX 的值并查看 Microsoft 文档 应该有一个 运算符 float operator size t Row siz
  • C中主要函数的风格[重复]

    这个问题在这里已经有答案了 可能的重复 main 的正确声明是什么 https stackoverflow com questions 4207134 what is the proper declaration of main 我正在努力
  • Python正则表达式将空格分隔的单词分隔成列表

    如果我有一个字符串 hello world示例文本 我希望能够将其转换为列表 hello world sample text 我怎样才能用正则表达式做到这一点 其他不使用re的方法也是可以接受的 hello world sample tex
  • PHP/Apache REQUEST_URI 不同的行为?

    我正在将网站从一台服务器移动到另一台服务器 两者都具有相似的变体森托斯 5 x64 with 阿帕奇2 2 and PHP 5 2 X 我的一些脚本 包括WordPress 行为不正确 事实证明问题在于两者之间的差异REQUEST URI
  • 必填字段验证器,在初始页面加载时显示

    我有一个简单的文本框 末尾附加了必需的字段验证控件 然后显示在页面底部的验证摘要中 一切都运行良好 但验证似乎在页面的初始加载时触发 这显然会引发所需的验证并显示错误消息 如何将此控件设置为仅在提交表单后才验证 听起来您的页面加载中有这样的
  • 将 sql 查询转换为等效的 Spark 查询

    我在用spark sql 2 4 1v用java8 我有如下所示的场景 片段 Dataset
  • Android中AAR、JAR、DEX、APK的区别

    在Android系统或开发环境中 AAR JAR DEX APK文件有什么区别 每一项的目的是什么 AFAIK JAR 就像 class 文件的集合 就像 Java 中的那样 AAR 是 JAR 文件 资源 但它的用例是什么 用于分发 An
  • 为什么在 scala Spark 应用程序中初始化 SQLContext 后导入隐式 SqlContext.implicits._

    为什么在 scala Spark 应用程序中初始化 SQLContext 后导入隐式 SqlContext implicits 当导入放在对象之外时 似乎存在问题 我来自 java 背景 不理解 def 对象中 import 语句的用法 v
  • HTTPS 通信是否需要 JWT?

    我正在开发一个 MEAN 堆栈应用程序 目前正在设置一个帐户系统 我看过几个关于身份验证的教程 全部使用JWT 我想知道 JWT 是否可以用作通过非安全连接 如 HTTP 来保护通信传输的方法 我已经设置了 HTTPS 从 Angular