返回首页
当前位置: 主页 > 编程语言 > C#教程 >

OAuth中授权服务的流程介绍

时间:2016-10-09 22:28来源:电脑教程学习网 www.etwiki.cn 编辑:admin

OAuth协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAuth的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的。OAuth支持授权码模式(authorization_code)、密码模式(password)、客户端模式(client_credentials) 、简化模式(implicit)、刷新令牌模式(refresh_token)这五类授权模式,本文将介绍这五类授权中授权服务的流程。

一   授权码模式(authorization_code)

1.      客户端访问授权服务的授权终端(authorization endpoint),在请求中附带客户端的身份信息、请求的授权范围、当前状态和授权后跳转地址。
2.      授权终端比对客户端的身份信息,校验授权后跳转地址与客户端预留的跳转地址是否一致。
3.      授权终端校验用户是否在授权服务中登录。若用户未登录,跳转到授权服务的登陆界面。用户登陆后,跳转到授权页面向用户展示客户端请求的授权范围。
4.      若用户同意授权,授权服务会再一次比对客户端的身份信息和校验跳转地址。然后授权终端产生一个新的不记名令牌,并使用该令牌登录。
5.      不记名令牌的登录触发AuthorizationCodeProvider的OnCreate方法产生授权码和访问令牌。将授权码和访问令牌进行关联,然后将授权码返回给客户端。
6.      客户端使用身份信息、跳转地址、接收到的授权码向授权服务请求访问令牌。
7.      授权终端比对客户端的身份信息,校验跳转地址,然后使用授权码获取关联的访问令牌,将令牌返回给客户端
8.      触发RefreshTokenProvider的OnCreate方法,使用访问令牌创建一个刷新令牌,将刷新令牌也返回给客户端。
 
 

二   密码模式(password)

1.      用户将账号和密码提供给客户端。
2.      客户端使用用户的账号和密码访问授权服务的授权终端。
3.      授权终端校验账号密码是否正确,校验通过后创建访问令牌返回给客户端。
4.      触发RefreshTokenProvider的OnCreate方法,使用访问令牌创建一个刷新令牌,将刷新令牌也返回给客户端。

三   客户端模式(client_credentials)

1.      客户端使用客户端的身份信息访问授权服务的授权终端。
2.      授权终端校验客户端的身份信息和预留的跳转地址,校验通过后创建访问令牌返回给客户端。
3.      触发RefreshTokenProvider的OnCreate方法,使用访问令牌创建一个刷新令牌,将刷新令牌也返回给客户端。

四   简化模式(implicit)

1.      客户端访问授权服务的授权终端,在请求中附带客户端的身份信息、请求的授权范围、当前状态和授权后跳转地址。
2.      授权终端比对客户端的身份信息,校验授权后跳转地址与客户端预留的跳转地址是否一致。
3.      授权终端校验用户是否在授权服务中登录。若用户未登录,跳转到授权服务的登陆界面。用户登陆后,跳转到授权页面向用户展示客户端请求的授权范围。
4.      若用户同意授权,授权服务会再一次比对客户端的身份信息和校验跳转地址。然后授权终端产生一个新的不记名令牌,并使用该令牌登录。
5.      不记名令牌的登录会将用户的访问令牌发送给客户端。即使授权终端实现了AuthorizationCodeProvider的OnCreate方法,也不会触发该方法,而是直接发放令牌。简化模式也不会触发刷新令牌的发放。
 

五   刷新令牌模式(refresh_token)

1.      客户端访问授权服务的授权终端,在请求中附带客户端的身份信息和刷新令牌。
2.      授权终端验证客户端身份信息,校验通过后触发RefreshTokenProvider的OnReceive方法,创建新的访问令牌,返回给客户端。
3.      触发RefreshTokenProvider的OnCreate方法,使用访问令牌创建一个刷新令牌,将新的刷新令牌也返回给客户端。
顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):OAuth OAuth授权服务
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐内容