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中

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章