android sina oauth2.0 code认证,Android通过第三方登录理解oauth2.0机制
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
下面,我们一步步分析上面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_token
4. 分析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 sina oauth2.0 code认证,Android通过第三方登录理解oauth2.0机制相关推荐
- 第三方登录过程—OAuth2.0协议
---恢复内容开始--- 理清思路 1.在第三方注册成为开发者,拿到第三方给的client_id(app_id---就像你的身份证.QQ号)和client_secret(就像你的QQ密码): 2.填写 ...
- OAuth认证原理与第三方登录
1.背景 以下例子引用知乎"OAuth 授权的工作原理是怎样的?足够安全吗?"中李天放的回答 假如你在某个网站A上使用微博进行第三方登录,那么你可以想象新浪微博就是你的家.偶尔你会 ...
- 【Spring Security OAuth2笔记系列】- Spring Social第三方登录 - QQ登录下
qq登录下 前面把所有的代码组件都弄好了.现在可以开启调试了 在这之前你需要有一个qq互联的应用:也就是为了拿到appid和appSecret:自己去qq互联创建一个应用即可 这里讲下本地怎么调试应用 ...
- Spring Security并没有那么难嗷 简单理解OAuth2.0
文章目录 1. 基本概念 1.1 什么是认证 1.2 什么是会话 1.3 什么是授权 1.4 授权的数据模型 1.5 RBAC 1.5.1 基于角色的访问控制 1.5.2 基于资源的访问控制 2. 基 ...
- Spring Cloud入门-Oauth2授权之基于JWT完成单点登录(Hoxton版本)
文章目录 Spring Cloud入门系列汇总 摘要 单点登录简介 创建oauth2-client模块 修改授权服务器配置 网页单点登录演示 调用接口单点登录演示 oauth2-client添加权限校 ...
- 新浪微博Oauth2.0授权认证及SDK、API的使用(Android)
---------------------------------------------------------------------------------------------- [版权申明 ...
- Android HTTP2 + Oauth2 + Jwt 接口认证实例
2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Java 手札> Netkiller Java 手札 Mr. Neo Chan, ...
- 认证android retrofit,Retrofit之项目介绍
项目介绍 官网对retrofit介绍是这是一个"类型安全(type-safe)"的Android/Java http客户端. 目前retrofit的最新正式版本为1.9.0. 2. ...
- 新浪微博Android客户端开发之OAuth认证篇
新浪微博客户端开发之OAuth认证篇 2013年7月29日新浪微博客户端开发 OAuth2.0授权机制我在这里就不浪费口舌了,有很多大牛都发表过相关的文章解释OAuth2.0认证的流程,我就随便找了一 ...
最新文章
- LNMP(php-fpm的pool,慢执行日志,定义open_bashdir,php-fpm进程管理
- React Native布局详细指南
- cahrt框架 ios_iOS Charts框架集成及使用
- 云计算与分布式计算,网格结算,对等计算,并行计算..的关系
- 5G毫米波通信中一些量化的概念
- 【产品活动】阿里云GPU云服务器年付5折!阿里云异构计算助推行业发展!
- 如何更新mysql数据库字段_如何使用MySQL一个表中的字段更新另一个表中字段
- origin设置不同区域的颜色_[测试狗]Origin入门教程(二十四):效率翻倍小技巧——修改默认字体...
- JavaScript 学习笔记— —Date对象
- flash player for linux 64,64-bit linux下装什么adobe flash player
- 【Logstash】Logstash:把MySQL数据导入到Elasticsearch中
- D3/Echarts/G2的对比分析
- 从一个例子来看Tagged Pointer特性
- 美育在计算机教育中应用,浅谈在小学信息技术课堂中有效实施美育.
- c语言如何反复执行一段程序,C语言中重复执行程序的问题
- 2022年5月语音合成(TTS)和语音识别(ASR)论文月报
- 使用exceljs导出部门-职位联动下拉框的excel
- 1.深入.NET框架
- Games101,作业7(多线程提速)
- Java-Excel报表开发POI(含POI保护工作表功能)