OAuth 2.0系列教程(四) 客户端类型
2015-06-29 16:53
204 查看
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规范没有提及这种混合型。然而,在大多数情况下,混合型将能够使用这些配置文件的认证模型。
相关文章推荐
- iOS 客户端学习-支付宝
- jquery 选择器
- linux中查找,which和whereis
- sql语句按照汉字拼音首字母排序
- Nginx配置域名转发实例
- hrml 标签 marquee
- [日志处理工作之三]使用flume采集DB2日志推送到kafka,并使用spark streaming拉取指定topic的日志
- Maven 工程报错Failure to transfer org.codehaus.plexus:plexus-io:pom:1.0.1 from http://repo.maven.apache.
- ConcurrentHashMap原理分析
- 脑图篇
- LeetCode_Unique Binary Search Trees II
- 连接字符串中的integrated security=true的意思是什么
- 《飞轮效应:数据驱动的企业》
- gcc常用编译过程
- library dfftpack has Fortran sources but no Fortran compiler found
- XP获取SSDT表
- C# zip压缩 Ionic.Zip.dll
- [日志处理工作之二]使用flume-ng解析db2日志的初步步骤
- iOS 画图 截图
- 如何在表面着色器中使用顶点函数