[iOS微博项目 - 2.0] - OAuth授权3步
* 注册一个微博帐号,登录http://open.weibo.com
帐号:xxxxxx
密码:xxxxxx
* 填写开发者的个人信息(比如姓名、出生日期、上传身份证)
2.创建应用
* 假设应用名称叫做“xx微博”
* 应用创建完毕,默认就进入“开发”阶段,就具备了授权的资格
* 应用相关数据
App Key:3145626526 // 应用的唯一标识
App Secret:ee9de4d2431be061b22fe328332a1111
Redirect URI:http://www.baidu.com
3.用户对“xx微博”进行资源授权----OAuth授权2.0
1> 获取未授权的Request Token : 展示服务器提供商提供的登录页面
* URL : https://api.weibo.com/oauth2/authorize
* 参数
client_id true string 申请应用时分配的AppKey // 得知道给哪个应用授权
redirect_uri true string 授权回调地址 // 授权成功后跳转到哪个页面
2> 获取授权过的Request Token
* 授权成功后,自动跳转到回调页面,比如
http://www.baidu.com/?code=eabdc03cc4cc51484111b1cfd9c4cd0b
// 新浪会在回调页面后面拼接一个参数:授权成功后的Request Token
3> 根据授权过的Request Token换取一个Access Token
* URL : https://api.weibo.com/oauth2/access_token
* 参数
client_id true string 申请应用时分配的AppKey。
client_secret true string 申请应用时分配的AppSecret。
grant_type true string 请求的类型,填写authorization_code
code true string 调用authorize获得的code值。
redirect_uri true string 回调地址,需需与注册应用里的回调地址一致
* 返回结果
{
"access_token" = "2.00vWf4GEUSKa7D739148f7608SXA9B";
"expires_in" = 157679999;
"remind_in" = 157679999;
uid = 3758830533;
}
// uid == user_id == 当前登录用户的ID == 用户的唯一标识
{
"access_token" = "2.00vWf4GEUSKa7D739148f7608SXA9B";
"expires_in" = 157679999;
"remind_in" = 157679999;
uid = 3758830533;
}
* access_token和uid的去呗
access_token : 1个用户给1个应用授权成功后,就获得对应的1个access_token,作用是:允许1个应用访问1个用户的数据
uid:1个用户对应1个uid,每1个用户都有自己唯一的uid
举例:
张三
李四
应用1
应用2
张三给应用1、应用2授权成功了:1个uid、2个access_token
李四给应用2授权成功了:1个uid、1个access_token
上面操作:产生了2个uid,3个access_token
二、授权过程中常见错误:
1.invalid_request
1> 没有传递必填的请求参数
2> 请求参数不对
3> URL中间留有空格
2.invalid_client
1> client_id的值传递错误(AppKey不对)
3.redirect_uri_mismatch
1> 回调地址不对
三、授权帐号注意
最新文章
- highlight.js 代码高亮插件
- java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;
- (1-2)配置的升级 - ASP.NET从MVC5升级到MVC6
- $.getJSON('url',function(data){}) 中回调函数不执行
- EF架构~真正被封装的排序方法,支持多列排序
- IOS网络第二天 - 03-JSON显示数据,调用本地视频播放,数据转模型
- 算法与数据结构题目的 PHP 实现:栈和队列 由两个栈组成的队列
- dom4j 学习总结
- EXCEL 数字+E+数字 自动识别为指数形式的解决办法
- Web service是什么?
- 清除xcode里面的mobileprovision文件
- 【S13】vector和string优先于动态分配的内存
- Qt之信号连接,你Out了吗?
- AOI
- jQuery Easy UI LinkButton(button)包
- 用递归的方式处理数组 &;&; 把递归方法方法定义到数组的原型上 (这是一次脑洞大开的神奇尝试)
- 201521123068《Java程序设计》第4周学习总结
- Material Design之CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar
- cookie 简单用法
- MBTIles实现
热门文章
- Java基本类型
- window注册表
- android中的ellipsize设置(省略号的问题)
- 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案
- TS数据结构分析
- 【Java】Java处理double相加的结果异常
- 【转】Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程
- Jquery插件写法及extentd函数
- mybatis返回HashMap结果类型与映射
- UI篇--Android中TableLayout中的布局