您现在的位置是:人工智能 >>正文
了解 JWT、OAuth 和 Bearer 令牌
人工智能956人已围观
简介当 Web 成为人们可以实际执行有意义的任务如银行或工作)的地方时,隐含的需求就是对使用服务的人进行身份验证。毕竟,我们不能只相信使用这些服务的人使用了它们。必须实施某种方式,让人们可以证明他们是他们 ...
当 Web 成为人们可以实际执行有意义的令牌任务(如银行或工作)的地方时,隐含的令牌需求就是对使用服务的人进行身份验证。
毕竟 ,令牌我们不能只相信使用这些服务的令牌人使用了它们。必须实施某种方式,令牌让人们可以证明他们是令牌他们所说的那个人 。
最初 ,令牌这就像用户名和密码组合一样简单。令牌理论上,免费模板令牌您是令牌唯一知道您的密码的人 。
身份鉴权
通常,令牌您会使用您的令牌凭证在网页上填写表单,然后点击提交。令牌您的令牌详细信息将通过 HTTP 发送 POST 请求到服务器 ,服务器将检查您的令牌密码是否与存档的内容匹配,然后向您发放一个 cookie。
该 Cookie 将包含您的源码下载Token ,并将与每个后续请求一起提交 ,以便服务器知道在每个后续请求中信任您 。
如果需要在会话期间存储数据,例如您选择的数据或首选项,则可以将其存储在session中。有时,这被称为 sessionizing 您的数据 。
在用户session中存储数据是存储和检索瞬态信息的一种简单且廉价的方法 。
不幸的是模板下载 ,这种方法有几个缺点:
将您的用户名和密码发布到服务器 ,经常发生在不安全的 HTTP 请求上 。在这种情况下,您的用户名和密码可以被任何人或您与服务器之间的任何内容直接从 HTTP的POST 请求中读出将您的密码(本应是秘密的)发送到远程服务器并不是一个好主意。如果远程服务器遭到入侵,那么不良行为者将可以轻松访问发送给他们的香港云服务器这些凭据,然后可以自由地在其他银行网站或电子邮件提供商上试用这些凭据。因为密码经常被重复使用 ,所以这将非常有效很多时候,密码会以明文形式存储,并以这种格式在服务器上进行比较,这对于黑客或其他可以检索用户名/密码组合宝库的不良行为者来说显然是一个相当大的蜜罐至于在用户的session中存储数据,如果有一台服务器为应用程序提供服务,则此方法有效 。当服务器跨越多个服务器时,所有服务器都必须保持其会话同步。
为此 ,服务器租用人们设计了许多方法 ,例如将会话数据存储在数据库服务器上或某种内存存储中,但从长远来看 ,更好的解决方案是简单地完全删除会话。
依赖服务器上的可变数据存储不是一个好主意 ,理想情况下,使用者应该拥有应用程序运行所需的所有信息 。
JWT
回到我们最初的例子 ,当我们看另一个人时 ,我们可以快速评估我们是云计算否认识他们 。根据我们是否了解他们 ,我们可以向他们提供有关我们生活和发生的事情的更多细节 。
但我们不能指望总是能够看到信任他们的人 。有时,我们可以在不见对方的情况下进行信任交换 。
例如 ,当您上班时,您可能有一张刷卡,您可以在读卡器上刷卡。读卡器会读取您的卡,如果卡有效 ,则通过身份验证。这更好 ,因为您不必向任何人透露您的密码或任何对您来说保密的事情 。
我们知道使用读卡器进入建筑物是安全的,因为信任链是完整的。读卡器是由值得信赖的公司发行的,您的门禁卡也可能由他们发行 。我们可以把卡带走,在某个地方存放很长时间 ,当我们回来的时候,它仍然是值得信赖的。
如果有人打开卡并更改或更改它以试图给他们更多的访问权限,他们反而会损坏卡,它就会停止工作 。
JWT 有点像这样。它们由三个独立元件组成:
描述令牌中的信息以及正在使用的加密的标头payload证明 Token 可靠的签名计算签名的算法是 header 和 payload 的加密结果与 secret 相结合。因此 ,如果header或payload发生更改,则签名将无效 ,并且内容将不受信任 。
因此 ,即使我们在 JWT 中包含数据以表明用户是管理员,只要签名得到正确验证,我们就可以确保 JWT 仍然是该事实的正确表示。因为公众无法访问我们的签名密钥 ,所以我们可以确定唯一可以颁发该 JWT 的实体是我们的服务器 。
我们可以在 https://jwt.io 这样的网站上轻松查看 JWT 令牌的内容。

携带您的令牌
现在我们有了令牌,下一个问题应该是我们如何将其呈现给服务器 。以前的身份验证方法需要基于 Cookie 的身份验证。但是 ,通常使用我们的 JWT 令牌,我们会将它们与受保护的资源一起呈现给服务器,以便我们可以被授予访问权限 。
这意味着在我们的 HTTP 方法(POST 、GET 等)中,我们还将包含一个 Authorization 值。它通常如下所示:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.uXrIhrveuvbR4tD1ULholQObboLVC-wIfJOEVElEzcs
使用此令牌,服务器可以在分析令牌中的声明之前验证令牌。但是 ,索赔包含哪些内容 ?
声明只是 JWT 中包含特定令牌信息的字段 。它们分为三类 :注册、公共和私有 。
已注册的声明是可在 JWT 令牌中使用的标准字段 。它们不是必需的 ,但通常会在大多数代币中找到 。
公共声明由应用程序定义,并与正在使用的应用程序的数据相关。
私有声明是用于在实现之间共享信息的自定义声明,但只有涉及的实体知道声明是什么以及它们的工作原理。
OAuth 2.0 与此有何关系 ?
我们详细介绍了什么是 JWT 、它们的工作原理以及我们可以信任它们的原因 。通常 ,它们与 OAuth 一起被提及,有时人们会尝试比较它们或尝试选择一个而不是另一个 。
但是 ,它们没有可比性,而是 OAuth 通常使用 JWT 令牌来传输与其相关的信息 。由于 JWT 是一种以防篡改方式传输重要数据的可靠方法,因此它们是在 OAuth 2 中使用的不错选择。
例如,OAuth 发送的 ID 令牌始终作为 JWT 发送 。当同时发送访问令牌时,它通常也作为 JWT 发送 。OAuth 使用 JWT 来实现与其相关的各种流。
另一种类型的令牌是 Bearer 令牌,它与 Authorization 标头中的每个 HTTP 方法一起发送。它充当安全资源,指示令牌的持有者有权访问相关资源。因此,请务必仅将 Bearer 令牌发送到需要它的受保护终端节点。
OAuth 可以使用任何其他可行的系统来传输其令牌,但是因为 JWT 是一个标准,所以这就是正在使用的系统 。事实上,OpenID Connect 正在扩展 JWT。
结论
JWT 和 OAuth 是安全的异步 Web 的关键部分 。正如我们在本文中所看到的 ,他们不是竞争对手,您也不应该(或您可以)选择一个而不是另一个 。JWT 以 OAuth 的补充能力存在 ,并且在将可信数据从 A 点移动到 B 点方面做得非常出色 。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/news/038e499957.html
相关文章
网络犯罪集团将两大勒索组织收入麾下
人工智能研究人员表示:根据他们的研究调查结果发现,Karakurt网络犯罪集团与另外两个备受瞩目的勒索软件组织之间存在财务以及技术联系。这一现象表明网络威胁者的业务运营模式发生了变化,威胁行为者以受害者为目标 ...
【人工智能】
阅读更多Excel表格将多个表格快速合并汇总成一个的方法教
人工智能excel表格是很多小伙伴都在使用的一款数据处理软件,很多小伙伴都在使用。如果我们需要在Excel表格中将多个表格数据合并汇总在一起,小伙伴们知道具体该如何进行操作吗,其实操作方法是非常简单的,只需要 ...
【人工智能】
阅读更多电脑显示屏调整大小比例的步骤(简单易学的调整方法让您的显示屏更舒适)
人工智能在日常使用电脑时,合适的显示屏大小比例对于用户的视觉体验和工作效率都有重要影响。本文将介绍一些简单易学的步骤,帮助您调整电脑显示屏的大小比例,让您的电脑使用更加舒适。调整显示屏分辨率通过调整显示屏分辨 ...
【人工智能】
阅读更多
热门文章
最新文章
友情链接
- 手机安装APP提示解析错误怎么办
- 探索IPF671的优势及应用前景(解析IPF671的性能特点和市场竞争力)
- excel输入数字后自动加数的教程
- 磁盘扫描程序(使用磁盘扫描程序对C盘进行扫描修复的方法与技巧)
- 使用ISOU盘启动盘的完整教程(简单实用的ISOU盘制作与使用方法)
- 显卡不接电源会带来什么后果?(揭开显卡不接电源的秘密,了解风险与解决之道)
- 探索魔甲人一体机的全能之道(揭秘魔甲人一体机的独特功能与设计)
- 奔腾J3710处理器的性能和特点分析(探索奔腾J3710处理器在性能、功耗和多媒体表现方面的优势)
- Soul如何屏蔽手机通讯录
- 昂达B75手机的功能和性能介绍(一款全面的智能手机,让你爱不释手) 企业服务器网站建设云服务器亿华云香港物理机源码库b2b信息平台