Oauth2(2)客户端注册

在初始化协议之前,客户端在授权服务器注册。典型的包括终端用户与html注册表单的交互。

客户端注册并不需要客户端和授权服务器的直接交互。在授权服务器支持时,注册可以依靠其他方式建立信任并获得所需的客户端属性(例如重定向URI,客户端类型)。例如,注册可以使用自发行或第三方发行声明或通过授权服务器使用信任通道执行客户端发现完成。

在注册客户端时,客户端开发者应该:

  • 指定客户端类型
  • 提供客户端重定向URI
  • 包含其他授权服务器所需的信息,例如应用名,网页,描述,logo等

客户端类型

基于与授权服务器进行安全验证的能力定义了两种类型(是否能维持凭据的机密性)

  • 机密客户端
  • 公开客户端

客户端标识

授权服务器向注册客户端颁发一个代表了客户端提供的注册信息的独特字符串作为标识。该标识是公开的,暴露给资源拥有者并且不能被单独用于客户端认证。

客户端标识的字符串大小并为被规范定义。客户端应避免对标识的大小做出假定。授权服务器应该记录标识的长度。

客户端验证

如果客户端类型是机密的,客户端和授权服务器建立一个合适的客户端认证方法用于授权服务器的安全性需求。授权服务器可能接受满足安全性需求的任何形式的客户端验证。

机密客户端典型的建立一系列客户端凭据用于授权服务器进行身份验证(密码,公钥,私钥)。

授权服务器可能建立一个对公开客户端的验证方法。但是授权服务器一定不能依赖公开客户端验证达到识别客户端的目的。

每次请求不能使用一个以上的验证方法。

1.客户端密码
拥有客户端密码的客户端可能使用HTTP基本认证来与授权服务器进认证。
授权服务器可能支持在请求体中包含客户端凭据,参数包括client_id和client_secret。但并不推荐在请求提中使用这两个参数包含客户端凭据,应该限于不能直接采用HTTP基本身份验证方案的客户端,并且只能包含在请求体中。

2.其他验证方法
授权服务器可以支持任何与其安全要求匹配的合适的HTTP身份验证方案。当使用其他身份验证方法时,授权服务器必须定义客户端标识(注册记录)和认证方案之间的映射。

未注册客户端

该规范并没有排除对未注册客户端的使用。但是需要做额外的安全性分析并审查互操作性的影响。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,951评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,167评论 6 13
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,440评论 6 152
  • 1. 网络基础TCP/IP HTTP基于TCP/IP协议族,HTTP属于它内部的一个子集。 把互联网相关联的协议集...
    yozosann阅读 3,468评论 0 20
  • 如果有人问你,在吃面加卤蛋的时候,你是先吃面,还是先吃蛋,你怎么回答? 对于不同的人,可能会有不同的回答。有的人会...
    三生茅舍阅读 379评论 3 3