OAuth主要靠Access Token来访问受保护资源(protected resource),主要流程如下:
协议定义了几种Authorization Grant 方式,其中一种最常用的是Authorization Code。
Authorization Code模式
上图圆代表角色,方块代表实体。比如CSDN可以允许QQ用户第三方登录。
- 用户发起第三方登录请求
- csdn跳转到qq认证中心(Authorization Server)
- 用户输入用户名和密码
- 认证证书询问用户是否允许csdn访问其基本资料,得到用户确认
- 认证中心向第三方应用发送Access Token.
- CSDN 通过Access Token请求Resource Server获取用户基本资料
- Resource Server验证Token成功
- 返回受保护资源