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

有了上面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中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值