什么是身份验证? 简史。
oAuth 2.0 身份验证(如oauth.net解释)是一种”授权协议,用于在支持 Web 的应用程序和 API 网络中传递授权决策。 OAuth是由Twitter和Ma.gnolia(一个社交书签网站)的开发者于2006年创建的。 Ma.gnolia 正在寻找一种使用 OpenID 和 Twitter API 来委派身份验证的方法。 团队研究了各种想法,并最终意识到 API 访问委派没有开放标准。 此外,谷歌也在研究同样的问题,并听说了Twitter和Ma.gnolia之间的项目。 因此,来自谷歌的成员加入了这个团队。 到2007年底,OAuth核心1.0草案发布。 当前框架 OAuth 2.0 于 2012 年 10 月发布。
OAuth 2.0 身份验证角色
在 OAuth 2.0 中,定义了以下四个角色:
- 资源所有者. 资源所有者可以授予对受保护资源或服务的访问权限。 它可以是人、应用程序或安全策略,但通常是现实生活中的人。
- 资源服务器. 是承载资源或服务的服务器。 服务器接受和响应请求。
- 客户端应用程序。 客户端应用程序称为 OAuth 客户端,是请求访问资源服务器上的资源的应用程序。
- 授权服务器. 验证资源所有者并获取授权后,授权服务器向客户端提供访问令牌。
请务必注意,OAuth 不是身份验证协议,而是授权协议。 组件协同工作和交互的方式似乎暗示了身份验证,但是,它不打算用作身份验证。
为什么使用 OAuth 2.0 身份验证?
奇怪的是,你已经看到OAuth的概念在行动,甚至没有意识到这一点。 您每天使用的许多应用程序都使用 OAuth。 例如,假设您正在购买商品,并在 Etsy 上找到它。 你想买它,但唯一的问题是你没有Etsy帐户。 在 Etsy 主页上,您将看到使用 Facebook 或 Google 帐户登录的选项。 在这种情况下,您是资源所有者,Etsy 是客户端应用程序,Facebook 或 Google 是 API 或授权服务器。 现在,您必须向 Etsy 提供一些购买项目的其他信息,但通过使用 OAuth 身份验证,这允许您登录 Etsy 而无需创建其他密码。 如今,使用 Facebook 或 Google 登录已在互联网上无处不在,那么 OAuth 的真正好处是什么?
- 保护您的隐私。 使用 OAuth 允许您将私人资源从一个站点授予另一个站点。 OAuth 旨在让您在不共享身份的情况下访问某些内容。
- 客户体验。 在上面使用的示例中,使用您的 Facebook 数据可能允许 Etsy 改善您在其应用中的体验。
- 更强的身份验证。 依靠由Facebook或谷歌等大公司创建的认证系统比在内部创建认证系统更容易,风险也更低。
此外,专门针对开发人员,还有各种常用语言的 OAuth 库,包括 PHP、Java、Ruby、Python、.NET、JavaScript 和许多其他语言。有关支持的语言的完整列表,请访问https://oauth.net/code/。
使用网络监控器监控 OAuth 2.0 API
您的 API 可能需要 OAuth 2.0 身份验证,以允许通过 HTTP/S 授予其他 Web 服务(如客户端应用程序)对服务上特定资源的访问权限。 使用 OAuth 2.0 的服务 API 调用至少必须遵循以下步骤:
- 获取 API 访问令牌。
- 使用授予应用程序的访问令牌从服务请求自定义数据。
使用 Dotcom-Monitor 平台,您可以使用 HTTP/S 任务配置多任务监视设备。 要查看 Dotcom-Monitor 平台中的 OAuth 身份验证脚本示例,并详细了解如何配置监视设备以监视基于 OAuth 的 Web API 的可用性和性能,请阅读我们的知识库文章,介绍监视 OAuth 2.0 API。