”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > Auth、OAuth 和 Auth 什么是?

Auth、OAuth 和 Auth 什么是?

发布于2024-11-08
浏览:833

Auth, OAuth, and AuthWhat is what?

破解认证难题:幸存者和学习者的故事

哦,这会是另一本 OAuth 指南吗?一点也不!这会更像什么是什么会话?所以,你知道你要处理什么。 Auth、OAuth、Auth0……这些你已经看过、听过 100 遍的术语,它们是什么意思?

好吧,伙计!如果我们已经消除了对我们将要讨论的内容的困惑,那么让我们系好安全带。我们正在深入 Auth 的世界。

对于初学者来说,这可能看起来像过山车,但别担心,事实并非如此。它更像是一套玩具火车,是的,就这么简单。

那么,让我们一一来看看,以便您能够掌握。

“Auth”:首先要做的事情

Auth 是认证(authentication)和授权(authorization)的缩写,它们是计算机系统安全中两个不同但相关的概念。

  • 身份验证:验证用户或系统身份的过程 - 这就像出示您的 ID 来证明您是谁。当您使用用户名和密码登录网站时,该网站会检查是否是您本人。

  • 授权:确定经过身份验证的用户可以执行哪些操作的过程 - 在证明您是谁后,此步骤将决定您可以执行哪些操作。例如,登录后,它决定您是否可以看到某些页面或进行更改。

现在,你说,好吧,到这里为止都非常简单,但是......

“OAuth”和“Auth0”怎么样?它们是一样的吗?

OAuth 和 Auth0?

不。不一样的东西,但我明白为什么人们把它们混在一起。

这就像将印地语电影业(又名宝莱坞)与印度电影业混淆一样。

什么是“OAuth”?

OAuth 是一个开放标准授权框架,允许第三方应用程序访问用户的资源而无需知道其凭据。

让我们说清楚——

OAuth 是一种授权协议。

“曾经在网站上点击过‘使用 Google 登录’吗?这就是 OAuth 的作用!”

一点历史让你更加了解和自信 -
它从 2006 年就已经存在了——是的,当时我们可能更担心我们的学校作业和 WWE 超级巨星打牌!

OAuth 1.0 是 OG,但它有其缺陷。有点像过度设计的实用应用程序,看起来很酷,但使用起来很痛苦。

然后在 2012 年出现了 OAuth 2.0——当时我们大多数人刚刚进入大学或正在为大学做准备。

这就像 OAuth 1.0 更酷、更冷静的表弟。使用起来更方便,也更灵活。这是当今大多数开发人员使用的方法。

可以把它想象成从诺基亚 3310 升级到闪亮的新 iPhone。

想要更深入地了解 OAuth,而不阅读全文 — 在这里 — OAuth.Net 和 OAuth 现代指南

现在,什么是“Auth0”?

这是一个完全不同的游戏,或者说并没有那么不同。这是一家提供身份验证和授权服务的公司。他们使用 OAuth 2.0,但他们不是 OAuth 本身。

这就像说 Swiggy 是食物 - 不,他们只是提供它!

它们支持各种身份协议,包括 OAuth 2.0、OpenID Connect、SAML 等。想要查看有关 Auth0 的更多信息 — 又来了 — Auth0

还有像Auth0这样的平台吗?绝对是的!

  • Okta(2021年,Okta以65亿美元收购Auth0)
  • Amazon Cognito 和 Firebase 身份验证 — 由 Google 提供

为什么会有这么多混乱?

当您不熟悉这些术语时,它们对您来说可能听起来都一样。当然,他们只是在命名时玩弄这几个字母:)

但是,我可以打赌当我第一次偶然发现这些术语时。我的头转得比你还快!相信我,一旦你得到它,它就会点击。 ✌


综上所述

好了,伙计们!我们已经打开了 Auth 谜题盒并窥视了里面。

从 OG OAuth 到灵活的 Auth0。 ,我们已经介绍了基础知识,而无需绞尽脑汁。请记住,它并不像看起来那么可怕 - 这只是一堆技术试图确保您的物品安全无害。

下次有人在聚会上抛出“OAuth”或“Auth0”时,您可以故意点头,而不是挠头。嘿,如果您仍然在身份验证丛林中感到有点迷失,不用担心!我们都在这疯狂的科技之旅中。

继续编码,继续学习 - 直到下一次,祝你的令牌永远新鲜,你的授权永远不会失败!


一如既往,如果您喜欢这篇文章,请随时鼓掌,如果您有任何问题或意见,也请随时留下。感谢您的阅读!

您遇到过任何具体的身份验证难题吗?或者任何其他让你发出“嗯?”的科技术语?射击,让我们一起解决这个混乱!


LinkedIn — isinghprince)

版本声明 本文转载于:https://dev.to/isinghprince/auth-oauth-and-auth0-what-is-what-8gg?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 哪种方法更有效地用于点 - 填点检测:射线跟踪或matplotlib \的路径contains_points?
    哪种方法更有效地用于点 - 填点检测:射线跟踪或matplotlib \的路径contains_points?
    在Python Matplotlib's path.contains_points FunctionMatplotlib's path.contains_points function employs a path object to represent the polygon.它...
    编程 发布于2025-04-19
  • 大批
    大批
    [2 数组是对象,因此它们在JS中也具有方法。 切片(开始):在新数组中提取部分数组,而无需突变原始数组。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    编程 发布于2025-04-19
  • 您可以使用CSS在Chrome和Firefox中染色控制台输出吗?
    您可以使用CSS在Chrome和Firefox中染色控制台输出吗?
    在javascript console 中显示颜色是可以使用chrome的控制台显示彩色文本,例如红色的redors,for for for for错误消息?回答是的,可以使用CSS将颜色添加到Chrome和Firefox中的控制台显示的消息(版本31或更高版本)中。要实现这一目标,请使用以下模...
    编程 发布于2025-04-19
  • 如何在Chrome中居中选择框文本?
    如何在Chrome中居中选择框文本?
    选择框的文本对齐:局部chrome-inly-ly-ly-lyly solument 您可能希望将文本中心集中在选择框中,以获取优化的原因或提高可访问性。但是,在CSS中的选择元素中手动添加一个文本 - 对属性可能无法正常工作。初始尝试 state)</option> < op...
    编程 发布于2025-04-19
  • Go语言中如何正确区分未设置与空值?
    Go语言中如何正确区分未设置与空值?
    在GO中使用structs时,在没有设置的vs.空值 type nullstring struct { 字符串字符串 有效的bool //有效如果字符串不为null,则有效 } 通过扫描此类型并将其用作查询参数,数据库/SQL软件包为您管理Null State,...
    编程 发布于2025-04-19
  • JavaScript中如何动态访问全局变量?
    JavaScript中如何动态访问全局变量?
    在JavaScript 一种方法是使用窗口对象存储和检索变量。通过引用全局范围,可以使用其名称动态访问变量。 //一个脚本 var somevarname_10 = 20; //另一个脚本 window.all_vars = {}; window.all_vars ['somevarnam...
    编程 发布于2025-04-19
  • 为什么我的CSS背景图像出现?
    为什么我的CSS背景图像出现?
    故障排除:CSS背景图像未出现 ,您的背景图像尽管遵循教程说明,但您的背景图像仍未加载。图像和样式表位于相同的目录中,但背景仍然是空白的白色帆布。而不是不弃用的,您已经使用了CSS样式: bockent {背景:封闭图像文件名:背景图:url(nickcage.jpg); 如果您的html,css...
    编程 发布于2025-04-19
  • Java静态字段何时避免及原因
    Java静态字段何时避免及原因
    Exploring the Nature and Nuances of Static Fields in JavaProblem:Developers often encounter the need to share data between instances of the same class...
    编程 发布于2025-04-19
  • 如何在Java中正确显示“ DD/MM/YYYY HH:MM:SS.SS”格式的当前日期和时间?
    如何在Java中正确显示“ DD/MM/YYYY HH:MM:SS.SS”格式的当前日期和时间?
    如何在“ dd/mm/yyyy hh:mm:mm:ss.ss”格式“ gormat 解决方案:的,请访问量很大,并应为procectiquiestate的,并在整个代码上正确格式不多: java.text.simpledateformat; 导入java.util.calendar; 导入java...
    编程 发布于2025-04-19
  • 如何在php中使用卷发发送原始帖子请求?
    如何在php中使用卷发发送原始帖子请求?
    如何使用php 创建请求来发送原始帖子请求,开始使用curl_init()开始初始化curl session。然后,配置以下选项: curlopt_url:请求 [要发送的原始数据指定内容类型,为原始的帖子请求指定身体的内容类型很重要。在这种情况下,它是文本/平原。要执行此操作,请使用包含以下标头...
    编程 发布于2025-04-19
  • 如何检查对象是否具有Python中的特定属性?
    如何检查对象是否具有Python中的特定属性?
    方法来确定对象属性存在寻求一种方法来验证对象中特定属性的存在。考虑以下示例,其中尝试访问不确定属性会引起错误: >>> a = someClass() >>> A.property Trackback(最近的最新电话): 文件“ ”,第1行, AttributeError: SomeClass...
    编程 发布于2025-04-19
  • 如何使用Java.net.urlConnection和Multipart/form-data编码使用其他参数上传文件?
    如何使用Java.net.urlConnection和Multipart/form-data编码使用其他参数上传文件?
    使用http request 上传文件上传到http server,同时也提交其他参数,java.net.net.urlconnection and Multipart/form-data Encoding是普遍的。 Here's a breakdown of the process:Mu...
    编程 发布于2025-04-19
  • 表单刷新后如何防止重复提交?
    表单刷新后如何防止重复提交?
    在Web开发中预防重复提交 在表格提交后刷新页面时,遇到重复提交的问题是常见的。要解决这个问题,请考虑以下方法: 想象一下具有这样的代码段,看起来像这样的代码段:)){ //数据库操作... 回声“操作完成”; 死(); } ?> ...
    编程 发布于2025-04-19
  • 在细胞编辑后,如何维护自定义的JTable细胞渲染?
    在细胞编辑后,如何维护自定义的JTable细胞渲染?
    在JTable中维护jtable单元格渲染后,在JTable中,在JTable中实现自定义单元格渲染和编辑功能可以增强用户体验。但是,至关重要的是要确保即使在编辑操作后也保留所需的格式。在设置用于格式化“价格”列的“价格”列,用户遇到的数字格式丢失的“价格”列的“价格”之后,问题在设置自定义单元格...
    编程 发布于2025-04-19

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3