Android通过第三方登录理解oauth2.0机制
来源:互联网 发布:行业协会 知乎 编辑:程序博客网 时间:2024/05/01 19:27
1. OAuth2.0介绍
说到第三方登录,离不开oauth2.0,oauth2.0是“用户认证和授权的标准”,是从oauth1.0基础上发展来的。下图是oauth2.0六个过程分析图,为了分析这6个流程,下面我们通过新浪微盘授权登录demo,详细解析。2. 运行新浪微盘SDK demo
运行新浪微盘(开发者网站)sdk demo,使用新浪微博账号授权,入下图进行操作:3. 分析logcat日志信息
3.1 logcat信息
上面第2步运行demo,可以看到eclipse 的logcat打印很多信息,如下:(1) https://auth.sina.com.cn/oauth2/authorize?
client_id=2330724462&redirect_uri=http%3A%2F%2Fvauth.appsina.com%2Fcallback1.php&display=mobile
(2)http://vauth.appsina.com/callback1.php?code=67db0ec6d0bac50253e254ff03a605fb&state=
(3) https://auth.sina.com.cn/oauth2/access_token?
client_id=2330724462&client_secret=04f81fc56cc936bfc8f0fa1cef285158&
grant_type=authorization_code&code=49ae713e40e740cdb7cf16c92ac7e2ed&
state=&redirect_uri=http%3A%2F%2Fvauth.appsina.com%2Fcallback1.php
client_id=2330724462&redirect_uri=http%3A%2F%2Fvauth.appsina.com%2Fcallback1.php&display=mobile
(2)http://vauth.appsina.com/callback1.php?code=67db0ec6d0bac50253e254ff03a605fb&state=
(3) https://auth.sina.com.cn/oauth2/access_token?
client_id=2330724462&client_secret=04f81fc56cc936bfc8f0fa1cef285158&
grant_type=authorization_code&code=49ae713e40e740cdb7cf16c92ac7e2ed&
state=&redirect_uri=http%3A%2F%2Fvauth.appsina.com%2Fcallback1.php
下面,我们一步步分析上面logcat信息。
3.2 打开H5授权页面
将上面第1步网址拷贝到浏览器,发现其实就是打开授权页面,如下图(浏览器的开发者视图显示的效果):3.3 授权回调
在3.2的页面中输入新浪微博账号和密码,授权登录,发现跳转到下面的页面,这个页面就是3.1中logcat信息的第2条,其实就是打开授权回调页面:3.4 获取token
3.1中第3条logcat信息,其实就是调用接口,传入3.3获取的参数code值,获取access_token,这个步骤我们可以通过Firefox浏览器的RESTClient接口测试插件来分析,如下:可以看到服务器返回access_token4. 分析OAuth2.0六个流程
上面分析了logcat的信息,现在我们再来看看OAuth2.0六个步骤:4.1 六个角色
分析6个流程前,我们首先熟悉几个角色:Client:客户端,这里指的是新浪微盘SDK demo;
Resource Owner:资源拥有者,这里指的是授权登录账户;
Authorization Server:授权服务器,这里指的是新浪的服务器;
Resource Server:资源服务器,提供资源发服务器,这些资源比如用户名、相册等,这里的资源服务器指的是新浪服务器。
4.2 OAuth2.0六个流程
如上图:A:客户端发起授权请求,其实就是打开一个授权页面(3.1中的1);
B:用户(资源拥有者)授权后,跳转回调页,回传code值(3.1中的2)。
C:发起授权请求,获取access_token,其实就是使用B中的code,调用接口(3.1中的3)获取access_token。
D:授权服务器验证,如果通过返回access_token,详见3.4。
E:使用获得access_token申请获取资源,比如我们可以获取用户信息,如下:
https://api.weipan.cn/2/account/info?access_token=3a71ce6665v5t4K2xJtU236L9Vfce151
F:资源服务器返回资源,如下图返回用户信息:
以上就是OAuth2.0的6个流程。
本文版权归传智播客Android培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Android培训学院
首发:http://www.itcast.cn/android/
作者:传智播客Android培训学院
首发:http://www.itcast.cn/android/
0 0
- Android通过第三方登录理解oauth2.0机制
- OAuth2.0协议 第三方登录 授权
- php第三方登录 Oauth2.0协议
- 第三方登录—OAuth2.0协议
- OAuth2.0协议 第三方登录 授权
- 第三方登录—OAuth2.0协议
- php第三方登录 Oauth2.0协议
- PHP第三方登录OAuth2.0协议
- 初探OAuth2.0第三方认证登录
- Android中的OAuth2.0——QQ第三方授权登录
- 基于oauth2.0的第三方登录实现
- php QQ第三方登录/OAuth2.0验证
- php 新浪微博第三方登录验证/OAuth2.0
- php 新浪微博第三方登录验证/OAuth2.0
- php QQ第三方登录/OAuth2.0验证
- php QQ第三方登录/OAuth2.0验证
- 第三方登录——OAuth2.0协议
- Django OAuth2 linkedin的第三方登录
- 指尖上的电商---(10)SolrAdmin中添加多核
- 【题】【数论(拓欧求逆元)、前缀和】NKOJ 3683 沙拉公主的困惑
- 数据库故障恢复修复指南
- Java枚举
- JSON解析器
- Android通过第三方登录理解oauth2.0机制
- UIView的layoutSubviews和drawRect方法何时调用
- 指尖上的电商---(11)Windows平台部署SolrCloud
- Lua Day1
- 性能测试利器HyperPacer的学习视频前三期
- 指尖上的电商---(12)SolrAdmin中添加多核的另一种方法
- mysql数据库root密码忘记的修改方法
- java实验八 网络编程 (无脑实验系列)
- Android应用程序内存优化