博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
新浪微博OAuth2.0 VS OAuth1.0 主要区别总结
阅读量:5105 次
发布时间:2019-06-13

本文共 1349 字,大约阅读时间需要 4 分钟。

 

* OAuth2.0不需要签名了。之前所有的复杂的signatureBaseString计算、appSecret、 tokenSecret什么的都成浮云了,现在所有请求不需要签名了。所有二版微博API都使用HTTPS了。
* 相对于1.0的Request_Token换Authorization_Code,Authorization_Code再换Access_Token的授权模式,2.0提供了一种更简洁给力的授权码方式:Authorization_Code直接换Access_Token模式。
所以OAuth2.0的登录API只有两个oauth2/authorize和oauth2/accesstoken。其实之前之所以要多一个获取Request_Token的步骤,主要是为了Server来认证Client(还记得申银万国吗),看client是不是一个合法的注册过的Client。
* 当然OAuth2.0不止一种授权模式,共有四种, 新浪微博实现了最主要的3种:授权码式、用户名密码式、隐藏式。
授权码式就是上面提到Authorization_Code直接换Access_Token模式,登录需两步。
用户名密码式可实现一步登录(当然前提是用户得信任你的app才会乖乖给你密码)。
隐藏式也是一步登录,适用于JavaScript等脚本语言做逻辑处理的web客户端。
* OAuth2.0里的Access_Token与1.0里的不同。1.0里包含3个字段: UserID, AccessToken, AccessTokenSecret。2.0里也包含3个字段: 
AccessToken, (根据网友"U点意思"提供的情报,2.0的Access_Token字段,每次返回的值不一样。这与1.0中Access_Token字段值永远不变,是个很大的区别)
ExpiresIn
 (AccessToken的过期时间,按秒计,很短,默认可能是1个小时)
RefreshToken (AccessToken过期时,用来获取新的AccessToken,具体做法是当使用AccessToken时收到类似TokenInvalid或者TokenExpired的错误时,调用oauth2/accesstoken接口传递RefreshToken以获取新的AccessToken)
* OAuth2.0引入了Authorization Server的概念(越来越像微软的WIF-Window Identity Model)。对于我们开发者而言,没必要区分Authorization Server和Resource Server,我们看到的就是新浪微博Server。
* 使用OAuth2.0访问新浪微博API更简单了,只需要传递一个AccessToken值。
* 所有API只返回Json格式了,没有XML格式的了。(这是为虾米)
申明:由于OAuth2.0的协议文档,我尚未仔细阅读,所以理解上可能不够全面精确。广大网友补充。

以上总结结合了新浪微博开放平台上的API v2文档。

 

转载于:https://www.cnblogs.com/worldworld/archive/2012/08/13/2636378.html

你可能感兴趣的文章
Android 获取网络链接类型
查看>>
报表服务框架:WEB前端UI
查看>>
5.9UDP客户端服务器-基于OK6410
查看>>
java自学基础、项目实战网站推荐
查看>>
软件包的使用
查看>>
linux中启动与终止lnmp的脚本
查看>>
BZOJ 1304: [CQOI2009]叶子的染色
查看>>
gdb中信号的处理[转]
查看>>
学习Javascript闭包(Closure)
查看>>
LeetCode【709. 转换成小写字母】
查看>>
toString()和toLocaleString()有什么区别
查看>>
【mybatis】学习笔记之conf.xml与mapper.xml配置
查看>>
Python基础学习Day3 数据类型的转换、int、str、bool、字符串的常用方法、for循环...
查看>>
Controller比较两个对象discs、outlets中的元素是否相等。相同则相应的checkbox为checked...
查看>>
Android中在布局中写ViewPager无法渲染出来的问题
查看>>
简单shellcode编写
查看>>
centos7配置yum源
查看>>
winform textbox提示历史记录
查看>>
SSM整合(spring mybatis)图书
查看>>
Linux学习笔记--终端命令
查看>>