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

Auth、OAuth 和 Auth 什么是?

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

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]删除
最新教程 更多>
  • PHP与C++函数重载处理的区别
    PHP与C++函数重载处理的区别
    作为经验丰富的C开发人员脱离谜题,您可能会遇到功能超载的概念。这个概念虽然在C中普遍,但在PHP中构成了独特的挑战。让我们深入研究PHP功能过载的复杂性,并探索其提供的可能性。在PHP中理解php的方法在PHP中,函数超载的概念(如C等语言)不存在。函数签名仅由其名称定义,而与他们的参数列表无关。...
    编程 发布于2025-05-12
  • 如何有效地选择熊猫数据框中的列?
    如何有效地选择熊猫数据框中的列?
    在处理数据操作任务时,在Pandas DataFrames 中选择列时,选择特定列的必要条件是必要的。在Pandas中,选择列的各种选项。选项1:使用列名 如果已知列索引,请使用ILOC函数选择它们。请注意,python索引基于零。 df1 = df.iloc [:,0:2]#使用索引0和1 c...
    编程 发布于2025-05-12
  • 如何使用PHP将斑点(图像)正确插入MySQL?
    如何使用PHP将斑点(图像)正确插入MySQL?
    essue VALUES('$this->image_id','file_get_contents($tmp_image)')";This code builds a string in PHP, but the function call ...
    编程 发布于2025-05-12
  • 用户本地时间格式及时区偏移显示指南
    用户本地时间格式及时区偏移显示指南
    在用户的语言环境格式中显示日期/时间,并使用时间偏移在向最终用户展示日期和时间时,以其localzone and格式显示它们至关重要。这确保了不同地理位置的清晰度和无缝用户体验。以下是使用JavaScript实现此目的的方法。方法:推荐方法是处理客户端的Javascript中的日期/时间格式化和时...
    编程 发布于2025-05-12
  • 对象拟合:IE和Edge中的封面失败,如何修复?
    对象拟合:IE和Edge中的封面失败,如何修复?
    To resolve this issue, we employ a clever CSS solution that solves the problem:position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%)...
    编程 发布于2025-05-12
  • 图片在Chrome中为何仍有边框?`border: none;`无效解决方案
    图片在Chrome中为何仍有边框?`border: none;`无效解决方案
    在chrome 中删除一个频繁的问题时,在与Chrome and IE9中的图像一起工作时,遇到了一个频繁的问题。和“边境:无;”在CSS中。要解决此问题,请考虑以下方法: Chrome具有忽略“ border:none; none;”的已知错误,风格。要解决此问题,请使用以下CSS ID块创建带...
    编程 发布于2025-05-12
  • 如何避免Go语言切片时的内存泄漏?
    如何避免Go语言切片时的内存泄漏?
    ,a [j:] ...虽然通常有效,但如果使用指针,可能会导致内存泄漏。这是因为原始的备份阵列保持完整,这意味着新切片外部指针引用的任何对象仍然可能占据内存。 copy(a [i:] 对于k,n:= len(a)-j i,len(a); k
    编程 发布于2025-05-12
  • eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    称量()和ast.literal_eval()中的Python Security 在使用用户输入时,必须优先确保安全性。强大的Python功能Eval()通常是作为潜在解决方案而出现的,但担心其潜在风险。 This article delves into the differences betwee...
    编程 发布于2025-05-12
  • 如何使用PHP从XML文件中有效地检索属性值?
    如何使用PHP从XML文件中有效地检索属性值?
    从php $xml = simplexml_load_file($file); foreach ($xml->Var[0]->attributes() as $attributeName => $attributeValue) { echo $attributeName,...
    编程 发布于2025-05-12
  • Java中Lambda表达式为何需要“final”或“有效final”变量?
    Java中Lambda表达式为何需要“final”或“有效final”变量?
    Lambda Expressions Require "Final" or "Effectively Final" VariablesThe error message "Variable used in lambda expression shou...
    编程 发布于2025-05-12
  • FastAPI自定义404页面创建指南
    FastAPI自定义404页面创建指南
    response = await call_next(request) if response.status_code == 404: return RedirectResponse("https://fastapi.tiangolo.com") else: ...
    编程 发布于2025-05-11
  • Python高效去除文本中HTML标签方法
    Python高效去除文本中HTML标签方法
    在Python中剥离HTML标签,以获取原始的文本表示Achieving Text-Only Extraction with Python's MLStripperTo streamline the stripping process, the Python standard librar...
    编程 发布于2025-05-11
  • MySQL中如何高效地根据两个条件INSERT或UPDATE行?
    MySQL中如何高效地根据两个条件INSERT或UPDATE行?
    在两个条件下插入或更新或更新 solution:的答案在于mysql的插入中...在重复键更新语法上。如果不存在匹配行或更新现有行,则此功能强大的功能可以通过插入新行来进行有效的数据操作。如果违反了唯一的密钥约束。实现所需的行为,该表必须具有唯一的键定义(在这种情况下为'名称'...
    编程 发布于2025-05-11
  • 如何实时捕获和流媒体以进行聊天机器人命令执行?
    如何实时捕获和流媒体以进行聊天机器人命令执行?
    在开发能够执行命令的chatbots的领域中,实时从命令执行实时捕获Stdout,一个常见的需求是能够检索和显示标准输出(stdout)在cath cath cant cant cant cant cant cant cant cant interfaces in Chate cant inter...
    编程 发布于2025-05-11
  • 如何从PHP中的数组中提取随机元素?
    如何从PHP中的数组中提取随机元素?
    从阵列中的随机选择,可以轻松从数组中获取随机项目。考虑以下数组:; 从此数组中检索一个随机项目,利用array_rand( array_rand()函数从数组返回一个随机键。通过将$项目数组索引使用此键,我们可以从数组中访问一个随机元素。这种方法为选择随机项目提供了一种直接且可靠的方法。
    编程 发布于2025-05-11

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

Copyright© 2022 湘ICP备2022001581号-3