Mars视频笔记——Oauth认证原理
想看一下AsyncTack的使用方法 记得写过什么 但是找了半天没找到 才发现原来一直没整理上来 关于Mars老师Android开发****第四季的一些东西(关于腾讯微博项目)
4-2 OAuth认证原理
1 什么是OAuth
一种安全认证的协议
为用户资源的授权提供了一个安全、开放而又简易的标准
不会使第三方触及到用户的账号信息
http://www.oauth.net
2 OAuth当中的角色
ServiceProvider 服务提供者 通常是网站
User 用户
Consumer 客户 比如应用程序
Protected Resources 被保护的资源
3 OAuth验证流程
以下是一个三角形的关系图 因为排版关系 自行想象一下两两之间的箭头指向
Service Provider
3 可以访问你的资源 2 请求访问用户的资源
4 User授权访问 5 获得授权
User 1 请求服务 Consumer
6 服务该用户
补上了一张图:
注意到用户提交密码是在第四步 而第三方Consumer从头至尾没有获得账号信息
1 Consumer ----request_token----> Service Provider
2 Service Provider ----grant request_token----> Consumer
3 Consumer ----redirect to auth page----> User
4 User ----authorize request_token----> Service Provider
5 Service Provider ----acknowledge authorization----> User
6 User ----redirect to consumer---->Consumer
7 Consumer ----access_token---->Service Provider
8 Service Provider ----grant access_token----> Service Provider
以上是Oauth的流程 官方的说明图如下
在视频讲义中 又分了两集介绍认证的过程
其中Oauth认证一中提到了Oauth认证需要用到的几个关键URL
以腾讯微博为例:(其他也类似)
Request Token URL 获取未授权的Request Token的服务地址
https://open.t.qq.com/cgi-bin/request_token
User Authorization URL 获取用户授权的Request Token服务地址
https://open.t.qq.com/cgi-bin/authorize
Access Token URL 使用用户授权后的Request Token换取Access Token的服务地址
https://open.t.qq.com/cgi-bin/access_token