OAuth2.0协议

2017-08-04  本文已影响0人  Java小工匠

1、OAuth2.0概述

OAuth(开放授权)是一个开放标准,引用 RFC6479规范,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。目前的最新版本2.0协议。

2、OAuth2.0认证流程

引用RFC6479规范。

认证流程
角色说明
角色名称 中文名称 说明
ResourceOwner 资源拥者 例如QQ的用户
AuthorizationServer 授权服务器 例如腾讯的认证服务器
完成用户身份认证
ResourceServer 资源服务器 例如腾讯的图片服务器

流程说明

流程环节 说明 示例
A 第三方向资源拥有者请求临时授权码 例如简书引导用户点击QQ登录
B 资源拥有者同意授权给予第三方临时授权码 例如在A步骤的界面中用户完成了登录, 简书获取到临时授权码
C 第三方使用用户临时授权码向认证服务器获取正式令牌 例如简书拿到QQ用户授权码,向腾讯申请正式令牌
D 认证服务器向第三方提供正式令牌 例如腾讯认证服务器向简述提供正式访问令牌
E 第三方服务器使用令牌向资源服务器申请访问 例如简述使用令牌向腾讯服用户资料务器申请访问用户信息
F 资源服务器向第三方提供受保护资源 例如腾讯用户资料服务器向简书提供用户资料

3、OAuth2.0的授权模式

3.1 授权码模式

3.2 简化模式

3.3 密码模式

3.4客户端模式

上一篇下一篇

猜你喜欢

热点阅读