1、OAuth2.0概述
OAuth(开放授权)是一个开放标准,引用 RFC6479规范,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。目前的最新版本2.0协议。
2、OAuth2.0认证流程
引用RFC6479规范。
角色说明
角色名称 | 中文名称 | 说明 |
---|---|---|
ResourceOwner | 资源拥者 | 例如QQ的用户 |
AuthorizationServer | 授权服务器 | 例如腾讯的认证服务器 完成用户身份认证 |
ResourceServer | 资源服务器 | 例如腾讯的图片服务器 |
流程说明
流程环节 | 说明 | 示例 |
---|---|---|
A | 第三方向资源拥有者请求临时授权码 | 例如简书引导用户点击QQ登录 |
B | 资源拥有者同意授权给予第三方临时授权码 | 例如在A步骤的界面中用户完成了登录, 简书获取到临时授权码 |
C | 第三方使用用户临时授权码向认证服务器获取正式令牌 | 例如简书拿到QQ用户授权码,向腾讯申请正式令牌 |
D | 认证服务器向第三方提供正式令牌 | 例如腾讯认证服务器向简述提供正式访问令牌 |
E | 第三方服务器使用令牌向资源服务器申请访问 | 例如简述使用令牌向腾讯服用户资料务器申请访问用户信息 |
F | 资源服务器向第三方提供受保护资源 | 例如腾讯用户资料服务器向简书提供用户资料 |