android sina oauth2.0 code认证,Android通过第三方登录理解oauth2.0机制

1. OAuth2.0介绍

说到第三方登录,离不开oauth2.0,oauth2.0是“用户认证和授权的标准”,是从oauth1.0基础上发展来的。下图是oauth2.0六个过程分析图,为了分析这6个流程,下面我们通过

新浪微盘

授权登录demo,详细解析。

0818b9ca8b590ca3270a3433284dd417.png

2. 运行新浪微盘SDK demo

运行新浪微盘(

开发者网站

)sdk demo,使用新浪微博账号授权,入下图进行操作:

0818b9ca8b590ca3270a3433284dd417.png

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

下面,我们一步步分析上面logcat信息。

3.2 打开H5授权页面

将上面第1步网址拷贝到浏览器,发现其实就是打开授权页面,如下图(浏览器的开发者视图显示的效果):

0818b9ca8b590ca3270a3433284dd417.png

3.3 授权回调

在3.2的页面中输入新浪微博账号和密码,授权登录,发现跳转到下面的页面,这个页面就是3.1中logcat信息的第2条,其实就是打开授权回调页面:

0818b9ca8b590ca3270a3433284dd417.png

3.4 获取token

3.1中第3条logcat信息,其实就是调用接口,传入3.3获取的参数code值,获取access_token,这个步骤我们可以通过Firefox浏览器的RESTClient接口测试插件来分析,如下:可以看到服务器返回access_token

0818b9ca8b590ca3270a3433284dd417.png

4. 分析OAuth2.0六个流程

上面分析了logcat的信息,现在我们再来看看OAuth2.0六个步骤:

0818b9ca8b590ca3270a3433284dd417.png

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

:资源服务器返回资源,如下图返回用户信息:

0818b9ca8b590ca3270a3433284dd417.png

以上就是OAuth2.0的6个流程。

本文版权归传智播客

Android培训学院所有,欢迎转载,转载请注明作者出处。谢谢!

作者:传智播客Android培训学院

首发:

http://www.itcast.cn/android/

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值