六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 87|回复: 0

Mars视频笔记——Oauth认证(三)

[复制链接]

升级  52.67%

35

主题

35

主题

35

主题

秀才

Rank: 2

积分
129
 楼主| 发表于 2013-1-30 04:18:16 | 显示全部楼层 |阅读模式
有了上面Oauth原理,HTTP操作,AsyncTask的基础 就可以在Android中进行认证的操作了
 

1 对Request Token进行授权
在retrieveRequestToken中有一个参数(第二个)是回调URL
该方法首先申请到一个未授权的requestToken 然后将appkey和secret存到comsumer 并返回用于授权的地址
通过uri 隐式启动Activity(打开了授权网页)
在完成了Oauth认证第二第二步以后(网页上点授权后),会访问callback的url(即第二个参数)
回调会启动manifest中配置了<data>匹配callback成功的Activity
例如<data android:scheme="x-oauthflow" android:host="callback" />
这里是一个比较特别的地方
2 获取Access Token
在启动新的Activity后

public void onNewIntent(Intent intent){SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(this);final Uri uri=intent.getData();if(uri!=null && uri.getScheme().equals(Constants.OAUTH_CALLBACK_SCHEME)){new RetrieveAccessTokenTask(this,consumer,provider,prefs).execute(uri);}finish();} 在Task中
通过uri.getQueryParameter(KEY); 得到键值对的值
通过provider.retrieveAccessToken(consumer,verifle)请求accessToken和accessTokenSecret 被放到了consumer对象中
将Token和TokenSecret记录到prefs中
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表