OAuth 2.0客户端类型

时间:2020-01-09 10:47:16  来源:igfitidea点击:

OAuth 2.0客户端角色可细分为一组客户端类型和配置文件。本文将解释这些类型和配置文件。

OAuth 2.0规范定义了两种类型的客户端:

  • Confidential 机密的
  • Public 公共的

机密客户端是一种能够使客户端密码对世界保密的应用程序。该客户端密码由授权服务器分配给客户端应用程序。此密码用于标识授权服务器的客户端,以避免欺诈。机密客户端的示例可以是一个Web应用程序,其中只有管理员才能访问服务器并查看客户端密码。

公共客户端是无法对客户端密码保密的应用程序。例如,其中嵌入了客户密码的手机应用程序或者桌面应用程序。这样的应用程序可能会被破解,这可能会泄露密码。在用户浏览器中运行的JavaScript应用程序也是如此。用户可以使用JavaScript调试器来查看应用程序,并查看客户端密码。

客户端配置文件

OAuth 2.0规范还提到了一组客户端配置文件。这些配置文件是具体的应用程序类型,可以是机密的也可以是公开的。这些配置文件是:

  • Web Application
  • User Agent
  • Native

Web应用程序

Web应用程序是在Web服务器上运行的应用程序。实际上,Web应用程序通常同时包含浏览器部分和服务器部分。如果Web应用程序需要访问资源服务器(例如Facebook用户帐户),则可以将客户端密码存储在服务器上。密码因此将是机密的。

用户代理应用

用户代理应用程序例如是在浏览器中运行的JavaScript应用程序。浏览器是用户代理。用户代理应用程序可以存储在Web服务器上,但是下载后该应用程序仅在用户代理中运行。一个示例可能是只在浏览器中运行的小JavaScript游戏。

本机应用

本机应用程序例如是桌面应用程序或者移动电话应用程序。本机应用程序通常安装在用户计算机或者设备(电话,平板电脑等)上。因此,客户端密码也将存储在用户计算机或者设备上。

混合应用

一些应用程序是这些配置文件的混合体。例如,本机应用程序也可以具有服务器部分,该服务器部分完成部分工作(例如,存储数据)。 OAuth 2.0规范对这种混合动力没有任何说明。但是,在大多数情况下,混合服务器将能够使用这些配置文件之一的身份验证模型。