当前位置:文档之家› 新浪微博移动应用授权机制(@疯子超人)

新浪微博移动应用授权机制(@疯子超人)

新浪微博-手机微博 @疯子超人
@MUNTO_AKIRA
新浪微博移动应用开发指南
——授权机制说明
•在/apps中应用创建成功后,将会获得该应用的App Key和Secret Key,您可以通过这两个Key数据开始进行相关的技术开发工作。

•App Key是应用的唯一标识,开放平台通过App Key来鉴别应用的身份。

AppSecret是给应用分配的密钥,开发者需要妥善保存这个密钥,这个密钥用来保证应用来源的的可靠性,防止被伪造。

•Oauth2的授权方式需要校验callback地址,因此也需要开发者在后台配置。

微博应用授权流程
第三方应用OAuth2.0
认证
获取
Access
Token
操作接口访
问信息
移动端授权:
授权方式:目前新浪微博开放平台仅支持OAuth2.0的用户身份鉴权。

跳转新浪授权页面 Webview 截取
SDK SSO 版SDK Oauth2.0 API 跳转微博客户端授权
微博客户端3.0 开放服务 可实现方式
OAuth2 API
OAuth2/authorize请求用户授权Token
●用于标准流程( Authorization Code),发送获取code请求。

●用户直接发放模式( Implicit Grant),直接获取token。

需要校验
callback地址。

OAuth2/access_token获取授权过的Access Token
●用于已经获得用户授权得到code后换取token
●使用客户端认证权限对授权过的用户直接获得用户token。

access_token以2.00开头
expires_in以秒为单位
用户
App API Server
6. 请求获得token :
https:///oauth 2/access_token 1.用户确认使用微博功能
2.发起接口调用请求
https:///oauth2/authorize
5. 返回code
4. 用户授权
3. API 返回授权页面 7. 返回token
Step 1:
client_id=2507226428&response_type=code&redirect_uri=https:///oauth2/default.html &display=mobile &with_offical_account=1
https:///oauth2/authorize GET/POST
Step 2:
https:///oauth2/default.html?code=8502231b847e512ceed1d1c891c00293
Step 3:
https:///oauth2/access_token POST
client_id=2507226428&client_secret=16ee5f1933580ff73863010272ec065b&grant_type=authorization_code&code=8502231b847e512ceed1d1c891c00293&redirect_uri=http s:///oauth2/default.html
access_token": "ACCESS_TOKEN", "expires_in": 1234, "remind_in":"798114", "uid":"12341234" }
request:
Redirect_URI 需先在后台配置或使用绑定域名下的有效地址。

用户
1.用户确认使用微博功能
App API Server
5. API 返回access_token;
2.发起接口调用请求
https:///oauth2/authorize
4. 用户授权
3. API 返回授权页面
Step 1:https:///oauth2/authorize
GET/POST
client_id=2507226428&response_type=token&redirect_uri
=https:///oauth2/default.html&display=mobil
e&with_offical_account=1
request: https:///oauth2/default.html#access_token=2.
00h97VoBwHEgjC5fe3981eabQtZINC&remind_in=104622
&expires_in=104622&uid=1662439523
SDK 简介(java 为例)
App
Weibo
WeiboExc eption
AsyncTask
Utility
Weibo: 微博API 接口类,对外提供weibo api 的调用,包括登录,API 调用,微博分享等功能。

AsyncWeiboRunner :微博api 异步执行类,封装了回调接口,通过创建线程来调用Weibo 中的接口方法。

Utility :互联网工具类,包括接口请求GET/POST 封装,BASE64等encode ,decode 方法。

WeiboException :微博异常封装类,封装了微博的各个异常
App
1. Weibo. Authorize() Weibo SDK Weibo Server
3. 返回accessToken;
2.https:///oaut
h2/authorize
4. 保存 accessToken&User_info
第一步 In AuthorizeActivity:
调用setRedirectUrl方法设置应用回调页。

对于Mobile客户端应用来说,是不存在Server的,故此处的应用回调页地址只要与新浪微博开放平台->我的应用->应用信息->高级应用->授权设置->应用回调页中的url地址保持一致就可以了
第二步In AuthorizeActivity:
实现WeiboDialogListener接口。

授权成功后可在onComplete函数中获得accesstoken 信息。

具体如何保存、使用accesstoken信息由开发者自行处理。

第三步 In AuthorizeActivity:
调用authorize方法,弹出授权对话框,进行授权。

授权成功后即可获得accestoken。

接入新浪微博的第三方Android 、iOS 应用可
通过新浪微博官方客户端快速完成OAuth2.0
授权。

不需要重复输入新浪微博用户名、密码,只需
要一步操作,直接点击授权按钮即可完成授权,
增强了操作简便性及帐号安全性。

目前仅
3.0.0及以上客户端版本支持SSO 。

第一步:选择使用SSO 功能
第二步:选择用于授权的微博账号
第三步:使用微博账号进行授权,同意授权即
可使用微博功能
如果想更换微博账号,需要先解除绑定后重复
上诉操作。

简介 授权流程
SSO接口:
void authorizeCallBack(int requestCode, int resultCode, Intent data)
使用方式:
在Authorize页面覆写onActivityResult(int requestCode, int resultCode, Intent data),在方法中使用Weibo对象调
用authorizeCallBack(int requestCode, int resultCode, Intent data)
当家的:@于琪 招牌菜:东坡肘子 小二:@istage 招牌菜:山东煎饼 后勤:@夏花的碎碎念 招牌菜:糖醋鱼 账房:@陈菲Fiona 招牌菜:炸酱面 大堂:@acccl
招牌菜:北京烤鸭 门迎:@每日一2的泡泡 招牌菜:南瓜汤 打杂:@疯子超人 招牌菜:烧饼夹辣 微博无线开放平台成员: 平台外援团: 技术外援 @MUNTO_AKIRA 产品外援 @维阿瑞 @细雨满地 @邓锦君。

相关主题