OAuth 2.0 客户端类型

内容表
  • 客户端模式
    • web应用
    • 用户的代理应用
    • 本地应用
    • 混合应用

OAuth2.0的角色被细分为一系列的类型和模式。这段将解释这些类型和模式


OAuth2.0 规范定义两种客户端类型:

  • Confidential
  • Public
  • 机密性
  • 开发的

一个机密的客户端是一个有能力安全保存客户端密码的应用。这个客户端密码是授权服务器分配给客户端app的。这个客户端密码是授权服务识别客户端的,和防止欺骗。机密的客户端可能是一个webapp。只有管理员可以进入服务器,看见客户端密码。


一个公开的客户端是没有能力保存机密密码的客户端。比如手机应用或者桌面应用,他们有客户端密码被镶嵌在应用中。这样的应用可能被打开,获取密码。同样一个Javascript的web应用也是一样的。用户可以通过javascript的Debugger查看应用,发现密码。


客户端模式

OAuth2.0 可提到了一系列的客户端模式。这些模式的应用类型可能是机密或者公开的。

模式是:

  • web应用
  • 用户代理
  • 本地

web应用

一个应用是一个运行在web服务器上的应用。实际上,一个典型的web应用包括一个浏览器和一个服务器。如果web应用需要获取资源服务,客户端密码可能存储在服务器上。这样密码就是机密的。

Here is an illustration of a confidential client web application:

下面描述了一个机密的web客户端应用:

OAuth 2.0 客户端类型_第1张图片
Confidential client: Web Application.

用户代理应用

一个用户代理应用是,比如运行在浏览器中的javascript应用。浏览器是一个用户代理。一个用户代理应用可能被存储在web服务器上。但是应只一旦下载在用户代理上。比如一个javascript的小游戏只能运行在浏览器中。

Here is an illustration of a client user agent application:

下面描述了一个用户代理应用:

OAuth 2.0 客户端类型_第2张图片
Public client: User Agent Application.

本地应用

一个本地应用是,比如桌面应用,或者手机应用。本地应用被安装在用户的电电脑或者其他的设备上。客户端密码将被存储在用户电脑或者设备上。

下面是本地客户端应用的描述

OAuth 2.0 客户端类型_第3张图片
Public client: Native Application.

混合应用

一些应用是这些模式的混合。比如,一个本地应用可能也有一部分web服务,这部分完成一些工作()比如数据存储。OAuth 2.0 规范对混合应用没有说什么。然而,在大多数情况下,一个混合将能够用这些模式中的一个的认证模型。




你可能感兴趣的:(OAuth2.0)