OAuth2.0笔记

OAuth2.0笔记

角色

一般资源服务器和授权服务器是一个

  • 资源拥有者
  • 客户端应用
  • 资源服务器
  • 授权服务器

客户端类型

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

  • 保密的:web应用
  • 公有的:用户代理、原生

下图是一个保密的客户端应用即web应用

授权

授权批准由资源服务器及其相关的授权服务器给客给予户端应用。OAuth 2.0四种不同类型授权批准:

  • 授权码
  • 契约
  • 资源拥有者密钥证书
  • 客户端证书

下面是当用授权码授权客户端应用时的授权过程:

端点

OAuth 2.0定义了一系列端点。端点就是web服务器上的URI。这些端点定义有:

  • 授权端点 user--->server
  • 令牌端点 client--->server
  • 重定向端点 user--->client

请求和响应

取决于授权类型,下面只记录一下授权码授权的请求和响应。

授权码授权总共有2个请求和2个响应组成。一个授权请求+响应,一个令牌请求+响应。

授权请求:

response_type必须。必须被设置到代码里
client_id必须。当客户端被注册时,授权服务器要标识的客户端。
redirect_uri可选。通过客户端注册的重定向URI。
scope可选。请求可能的作用域。
state可选(推荐的)。任何需要被传递到客户端请求的URI客户端的状态。

授权响应:

code必须。授权码
state如果出现在请求中,必须包含。如果有的话,和客户端请求中发送的state参数一样。

授权错误:

error必须。必须是预先定义的错误码之一。参见规范查查这些错误码及它们的含义。
error_description可选。一段UTF-8编码的描述错误的文本。适用于开发者,而不是最终用户。
error_uri可选。 一个指向包含人类可读的错误信息网页的URI。
state必须。如果出现在授权请求期间,和请求中的state参数一样。

令牌请求:

grant_type必须。必须被设置到授权码中。
code必须。被授权服务器接收到的授权码。
redirect_uri必须。如果请求URI包括在授权请求中,之后必须是相同的。

令牌响应:

{ "access_token"  : "...",
  "token_type"    : "...",
  "expires_in"    : "...",
  "refresh_token" : "...",
}

参考

转载于:https://my.oschina.net/yysue/blog/1631334

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值