This is the Trace Id: e0b7c6fad054f468f828b456eef860d5
跳转至主内容 为什么选择 Microsoft 安全 AI 支持的网络安全 云安全 数据安全与治理 标识和网络访问 隐私和风险管理 AI 安全性 统一安全运营 零信任 Microsoft Defender Microsoft Entra Microsoft Intune Microsoft Priva Microsoft Purview Microsoft Sentinel 智能 Microsoft Security Copilot 副驾驶® Microsoft Entra ID (Azure Active Directory) Microsoft Entra 智能体 ID Microsoft Entra 外部 ID Microsoft Entra ID 治理 Microsoft Entra ID 保护 Microsoft Entra Internet 访问 Microsoft Entra 专用访问 Microsoft Entra 权限管理 Microsoft Entra 验证 ID Microsoft Entra Workload ID Microsoft Entra 域服务 Azure Key Vault Microsoft Sentinel Microsoft Defender for Cloud Microsoft Defender XDR Microsoft Defender for Endpoint Microsoft Defender for Office 365 Microsoft Defender for Identity Microsoft Defender for Cloud Apps Microsoft 安全风险管理 Microsoft Defender 漏洞管理 Microsoft Defender 威胁智能 适用于商业高级版的 Microsoft Defender 套件 Microsoft Defender for Cloud Microsoft Defender 云安全状况管理 Microsoft Defender 外部攻击面管理 Azure 防火墙 Azure Web 应用防火墙 Azure DDoS 防护 GitHub 高级安全性 Microsoft Defender for Endpoint Microsoft Defender XDR Microsoft Defender 商业版 Microsoft Intune 核心功能 Microsoft Defender for IoT Microsoft Defender 漏洞管理 Microsoft Intune 高级分析 Microsoft Intune Endpoint Privilege Management Microsoft Intune 企业应用程序管理 Microsoft Intune 远程帮助 Microsoft 云 PKI Microsoft Purview 通信合规性 Microsoft Purview 合规性管理器 Microsoft Purview 数据生命周期管理 Microsoft Purview 电子数据展示 Microsoft Purview 审核 Microsoft Priva 风险管理 Microsoft Priva 主体权利请求 Microsoft Purview 数据治理 适用于商业高级版的 Microsoft Purview 套件 Microsoft Purview 数据安全功能 价格 服务 合作伙伴 网络安全意识 客户案例 安全性 101 产品试用 行业认可 安全响应中心 Microsoft 安全博客 Microsoft 安全活动 Microsoft 技术社区 文件 技术内容库 培训和认证 Microsoft Cloud 合规性计划 Microsoft 信任中心 服务信任门户 Microsoft 安全未来计划 业务解决方案中心 连络销售人员 开始免费试用 Microsoft 安全 Azure Dynamics 365 Microsoft 365 Microsoft Teams Windows 365 Microsoft AI Azure Space 混合现实 Microsoft HoloLens Microsoft Viva 量子计算 可持续发展 教育 汽车 金融服务 政府 医疗保健 制造业 零售业 查找合作伙伴 成为合作伙伴 合作伙伴网络 Microsoft Marketplace Marketplace Rewards 软件开发公司 博客 Microsoft Advertising 开发人员中心 文档 活动 许可 Microsoft Learn Microsoft Research 查看站点地图

什么是 OAuth?

了解什么是 OAuth 以及如何在不泄露敏感信息的情况下授权应用程序和服务之间的访问。

OAuth 说明

OAuth 是一种技术标准,允许你授权一个应用或服务登录到另一个应用或服务,无需泄露密码等私有信息。是否曾经收到过这样的消息,例如"使用 Facebook 登录?” 或“允许此应用程序访问你的帐户?” 你已看到 OAuth 正在运行。

OAuth 是 Open Authorization(开放式授权)的缩写,而不是有时被认为的 authentication。身份验证是一个验证身份的过程。OAuth 确实涉及到你的身份,但目的是授予使用不同应用和服务无缝连接到你的权限,而无需新建账户。OAuth 提供了这种简单的体验,让你可以选择授权两个应用程序共享部分数据,而无需透露凭据。它兼顾了便捷性和安全性。

OAuth 设计用于超文本传输协议 (HTTP)。它使用访问令牌来证明你的身份,并允许它代表你与另一个服务进行交互。如果第二个服务发生数据泄露,你在第一个服务上的凭据仍然安全。OAuth 是一个被广泛采用的开放标准协议,大多数网站和应用程序的开发者都使用此协议。

重要的是,OAuth 不会授予第三方应用或服务无限制访问数据的权限。协议部分内容明确规定允许第三方访问哪些数据,以及可对此数据执行的操作。在很多人都能接触到大量敏感信息和专有信息的商业环境中,设置此类限制和保护身份信息尤为重要。


 

OAuth 的工作原理是什么?

访问令牌使 OAuth 的使用更加安全。访问令牌是一段数据,其中包含有关适用于令牌的用户和资源信息。令牌还将包括数据共享的具体规则。

例如,你可能希望与照片编辑应用程序共享社交媒体个人资料中的照片,但只希望能访问你的部分照片。它也不需要访问你的直接消息或好友列表。此令牌仅授权访问你批准的数据。此外,还可能有一些规则规定应用程序何时可以使用令牌(可能是单次使用或重复使用)以及令牌的有效期。

OAuth 流程主要是机器与机器之间的交互,用户只需几个接触点。在某些情况下,你可能不需要提供审批,因为软件正在后台以无提示方式处理。这方面的两个 OAuth 例子是:在企业工作场景中,身份平台处理资源之间的连接,以减少大量用户的 IT 摩擦;或者在某些智能设备之间的交互中。


 

OAuth 技术示例

就像许多简化繁琐操作的技术一样(这里指的是在多个应用程序中手动创建账户),OAuth 几乎已被应用程序创建者普遍采用。它为人们和企业提供了多种用例。

举一个 OAuth 的例子,假设你正在使用 Microsoft Teams 作为协作工具,并希望获取更多有关组织内外合作者的信息。你决定启用 LinkedIn 集成,以便在你与他们交互时了解有关人员的详细信息,而无需退出 Teams。然后,Microsoft 和 LinkedIn 将使用 OAuth 授权帐户与 Microsoft 标识进行关联。

使用 OAuth 的另一种情况是,如果要下载一个预算应用程序,通过警报和图表等可视化辅助工具来帮助你跟踪自己的支出。如果要完成其工作,应用需要访问你的某些银行数据。可以启动请求,将银行帐户与应用关联,仅授权访问帐户余额和交易。应用和银行将使用 OAuth 代表你进行此信息交换,而不会向应用泄露银行登录凭据。

另一个 OAuth 示例是,如果你是使用 GitHub 的开发人员,并且你了解到有一个可用的第三方应用可以与你的帐户集成以执行自动代码评审。转到 GitHub 市场并下载应用。然后,它会要求你使用 GitHub 身份授权与应用程序连接,此一过程将使用 OAuth 进行处理。这样,审核应用程序就可以访问你的代码,无需每次都登录这两项服务。

OAuth 1.0 和 OAuth 2.0 之间有什么区别?

最初的 OAuth 1.0 仅针对网站开发。由于 OAuth 2.0 既适用于应用程序也适用于网站,而且实施起来更快、更容易,因此目前并未广泛使用。OAuth 1.0 的扩展性不如 OAuth 2.0,它只有三种可能的授权流,而 OAuth 2.0 有六种。

如果计划使用 OAuth,最好从一开始就使用 2.0 版本。遗憾的是,OAuth 1.0 无法升级到 OAuth 2.0。OAuth 2.0 是对 OAuth 1.0 的全面重新设计,多家大型科技公司对其设计提出了反馈意见。网站可以同时支持 OAuth 1.0 和 OAuth 2.0,但创建者希望 2.0 完全替代 1.0。

OAuth 与OIDC

OAuth 和 Open ID Connect (OIDC) 是密切相关的协议。它们的相似之处在于,都能代表用户让一个应用程序访问另一个应用程序的资源。两者的区别在于,OAuth 用于授权访问资源,而 OIDC 用于验证个人身份。两者都能发挥作用,使两个互不相关的应用程序能够共享信息,而不会泄露用户数据。

标识提供程序通常同时使用 OAuth 2.0 和 OIDC。OIDC 专门为提升 OAuth 2.0 的功能而开发,它为 OAuth 2.0 增加了一个身份层。由于 OIDC 基于 OAuth 2.0 构建,因此无法向后兼容 OAuth 1.0。

 

开始使用 OAuth

在网站和应用程序中使用 OAuth 2.0 可以简化身份验证过程,从而显著改善用户或员工的体验。要开始使用,请投资标识提供程序解决方案,如 Microsoft Entra,它可通过内置安全功能保护用户和数据

Microsoft Entra ID(前 Azure Active Directory)支持所有 OAuth 2.0 流程。应用开发人员可以使用 ID 作为基于标准的身份验证提供程序,帮助他们将企业规模的新式标识功能集成到应用中。IT 管理员可以用它来控制访问权限。

详细了解 Microsoft 安全

  • 了解 Microsoft Entra

    利用整体解决方案系列保护身份和跨云安全访问。

  • Microsoft Entra ID(前 Azure Active Directory)

    使用强身份验证和基于风险的自适应访问保护对资源和数据的访问。

  • 在应用中建立信任

    实现 SSO,以便员工可以使用一个凭据访问所有需要的资源。

  • 简化登录体验

    实现 SSO,以便员工可以使用一个凭据访问所有需要的资源。

  • 防范攻击

    使用多因素身份验证,加强对组织资源的保护。

  • 使用 OAuth 简化对电子邮件数据的访问

    了解如何使用旧协议对与应用程序的连接进行身份验证。

 

 

常见问题解答

  • OAuth 是 Open Authorization(开放式授权)的缩写,是一种技术标准,允许你授权一个应用或服务登录到另一个应用或服务, 无需泄露密码等私有信息。当某个应用程序要求你授权查看你的个人资料信息时,它就是在使用 OAuth。

  • OAuth 的工作原理是交换访问令牌,包含用户信息和令牌对应资源信息的数据片段。一个应用程序或网站与另一个应用程序或网站交换有关用户的加密信息,并包含数据共享的特定规则。此外,还可能有一些规则规定应用程序何时可以使用令牌,并规定了有效期。OAuth 流程主要是机器与机器之间的交互,用户只有几个接触点(如有)。

  • 许多公司使用 OAuth 来简化对第三方应用程序和网站的访问,而不会泄露用户的密码或敏感数据。Google、Amazon、Microsoft、Facebook 和 Twitter 都使用它来共享有关帐户的信息,以实现各种目的,包括简化购买流程。Microsoft 标识平台使用 OAuth 授权工作和学校帐户、个人帐户、社交帐户和游戏帐户的权限。

  • OAuth 和 Open ID Connect (OIDC) 是密切相关的协议。它们的相似之处在于,都能代表用户让一个应用程序访问另一个应用程序的资源。但两者的区别在于,OAuth 用于授权访问资源,而 OIDC 用于验证个人身份。两者都能使两个互不相关的应用程序共享信息,而不会泄露用户数据。

  • OAuth 1.0 和 OAuth 2.0 间有许多不同之处,因为 OAuth 2.0 是对 OAuth 1.0 的彻底重新设计,使后者几乎过时。OAuth 1.0 仅针对网站开发,而 OAuth 2.0 则同时适用于应用程序和网站。与 OAuth 1.0 的三种授权流相比,OAuth 2.0 的实施速度更快、更简单、可扩展,并有六种可能的授权流。