OAuth 2.0系列教程(四) 客户端类型

原文地址:http://tutorials.jenkov.com/oauth2/client-types.html

作者:Jakob Jenkov   译者:林浩    校对:郭蕾

OAuth 2.0客户端角色被细分为一系列类型和配置,本节将阐述这些类型和配置。

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

  • 保密的
  • 公有的

保密的客户端能够对外部保持客户端密码保密。该客户端密码是由授权服务器分配给客户端应用的。为了避免欺骗,该密码是授权服务器用来识别客户端的。例如一个保密的客户端可以是web应用,除了管理员,没有任何人能够访问服务器和看到该密码。

公有的客户端不能使客户端密码保密。比如移动手机应用或桌面应用会将密码嵌入在内部。这样的应用可能被破解,并且泄漏密码。这同于在用户的浏览器上运行的JavaScript应用。用户可以使用一个JavaScript调试器来寻找到应用程序,并查看客户端密码。

客户端配置

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

  • web应用
  • 用户代理
  • 原生

Web应用

Web应用是指运行在Web服务器内的应用。实际上,Web应用典型地由浏览器部分和服务端部分组成。如果Web应用需要访问资源服务器(如Facebook账号),然后客户端密码被保存在服务器上。因此密码是保密的。

这里阐释了一个保密的客户端应用:


保密的客户端:web应用

用户代理应用

用户代理应用比如运行在浏览器上的的JavaScript应用。浏览器是用户代理。用户代理应用可以保存在web服务器上,但应用程序只运行一次下载的用户代理。一个例子就像一个JavaScript游戏只能运行在浏览器里。

这里阐释了一个客户端用户代理应用:


公有客户端:用户代理应用

原生应用

原生应用比如桌面应用或移动手机应用。原生应用典型地被安装在用户计算机或设备(手机,平板等)上。因此客户端密码也被存储在用户计算机或设备上。

这里阐释了客户端原生应用:


公有客户端:本地应用

混合应用

有些应用是这些配置的混合使用。比如本地应用也可以有服务器部分,来做一些工作(如数据存储)。OAuth2.0规范没有提及这种混合型。然而,在大多数情况下,混合型将能够使用这些配置文件的认证模型。

时间: 2024-09-17 04:09:04

OAuth 2.0系列教程(四) 客户端类型的相关文章

OAuth 2.0系列教程

OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据.每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频).这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容. OAuth

黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block 企业库日志应用程序模块工作原理图:        从上图我们可以看清楚企业库日志应用程序模块的工作原理,其中LogFilter,Trace Source,Trace Listener,Log Formatter的信息都可以在Category配置文件中反映出来,通过配置文件,调用LogWriter类的Writer方法,就可以将包含日志信息的LogEntr

OAuth 2.0系列教程(五) 授权

原文地址:http://tutorials.jenkov.com/oauth2/authorization.html 作者:Jakob Jenkov   译者:林浩    校对:郭蕾 当一个客户端应用想要访问拥有者托管在资源服务器的资源时,它必须先获得授权,本节将讲述客户端如何获取授权. 客户端标识,客户端密钥和重定向URI 在客户端应用能请求访问资源服务器的资源之前,客户端应用程序,必须先在资源服务器相关联的授权服务器中进行注册. 注册一个一次性的任务.一旦注册了,除非客户端注册被取消了,注册

OAuth 2.0系列教程(七) 请求和响应

当客户端应用请求授权和访问令牌时,它发送http请求到授权服务器,同它的授权和令牌端点.被发送来回的请求和响应取决于授权类型.记住,这四种授权类型: 授权码授权 契约授权 资源拥有者密钥证书授权 客户端证书授权 每一种授权类型的请求和响应的更多细节将在下文分开地阐释. 然而,下面讲述的信息大多只是一个总结.为了得到它们更多的细节描述,你可能不得不查询OAuth 2.0规范,或者你尝试集成的系统(如Facebook, Google, Twitter, Foursquare等)文档. 转载自 并发编

OAuth 2.0系列教程(三) 角色

原文地址:http://tutorials.jenkov.com/oauth2/roles.html 作者:Jakob Jenkov   译者:林浩    校对:郭蕾 OAuth 2.0为用户和应用定义了如下角色: 资源拥有者 资源服务器 客户端应用 授权服务器 这些角色在下图中表示为: OAuth 2.0规范中的角色定义 资源拥有者是指拥有共享数据的人或应用.比如Facebook或者Google的用户就是是资源拥有者,他们拥有的资源就是他们的数据.资源拥有者在上图中被描述为人,这也是最常见的情

OAuth 2.0系列教程(六) 端点

OAuth 2.0定义了一系列端点.端点典型的就是web服务器上的URI.比如,一个Java Servlet, JSP page, PHP page, ASP.NET网页等等. 这些端点定义有: 授权端点 令牌端点 重定向端点 授权端点和令牌端点都位于授权服务器上,重定向端点位于客户端应用上.每个端点都会在下面讲述. 这些端点在下图中阐释为: OAuth 2.0端点 OAuth 2.0规范没有描述这些端点怎么被发现或记录.这取决于实现者来决定.大多数网站都有一个子网站开发人员来记录这些端点. 授

OAuth 2.0系列教程(十一) 客户端证书请求和响应

客户端证书授权包含下面的参数: grant_type 必须.必须设置到客户端证书中. scope 可选.授权的作用域. 客户端授权响应: 客户端授权响应包含下面的参数: { "access_token" : "...", "token_type" : "...", "expires_in" : "...", } access_type属性是授权服务器分配的访问令牌. token_type

OAuth 2.0系列教程(八) 授权码授权

原文地址:http://tutorials.jenkov.com/oauth2/authorization-code-request-response.html 作者:Jakob Jenkov   译者:林浩    校对:郭蕾  授权码授权总共由2个请求和2个响应组成.一个授权请求+响应,和一个令牌请求+响应. 授权请求 授权请求被发送到授权端点以获取一个授权码.这是请求中用到的参数: response_type 必须.必须被设置到代码里 client_id 必须.当客户端被注册时,授权服务器要

OAuth 2.0系列教程(九) 契约请求和响应

原文地址:http://tutorials.jenkov.com/oauth2/implicit-request-response.html 作者:Jakob Jenkov   译者:林浩    校对:郭蕾 契约请求和响应 契约授权包含一个请求和一个响应. 契约授权请求 契约授权请求包含下面的参数: response_type 必须.必须被设置在令牌中. client_id 必须.当客户端被注册时,有授权服务器分配的客户端标识. redirect_uri 可选.由客户端注册的重定向URI. sc