android第三方登錄
⑴ Android第三方QQ登陸
Android實現第三方QQ登陸的開放流程為:
一. QQ登錄目前採用OAuth2.0標准協議來進行用戶身份驗證和獲取用戶授權。整個流程如下所述,這里比如一個應用A
可以使用QQ賬戶登陸。
1. 用戶訪問客戶端的應用,試圖操作用戶存放在服務提供方的資源。比如用戶用QQ賬戶登錄 應用 A程序,同時可以獲
得用戶昵稱頭像等保存在騰訊伺服器的用戶信息。
2. 輸入QQ賬號後,應用A後向服務提供方 (騰訊) (Request Token)。 請求一個臨時令牌
3. 服務提供方 (騰訊)(應用A)的身份後,授予一個臨時令牌。驗證客戶端
4. 客戶端(應用A)獲得臨時令牌後,將用戶引導至服務提供方(騰訊)的授權頁面請求用戶授權。在這個過程中將臨時令牌和客戶端的 回調連接發送給服務提供方(騰訊)。
5. 用戶在服務提供方(騰訊)的網頁上輸入用戶名和密碼,然後授權該客戶端(應用A)訪問所請求的資源。
6. 授權成功後,服務提供方(騰訊)引導用戶返回到客戶端(應用A)提供的回調頁面。
7. 客戶端(應用A)根據臨時令牌從服務提供方(騰訊)那裡獲取訪問令牌 (Access Token)。
8. 根據訪問令牌 (Access Token)獲得對應用戶身份的openid,
9. 然後客戶端(應用A)根據訪問令牌 (Access Token)與openid調用OpenAPI,來請求訪問或修改用戶授權的資源(比如昵稱用戶頭像等經過用戶授權的信息)。
10.拿到訪問令牌 (Access Token)之後,客戶端(應用A)可以保存起來,下次就不用再向服務提供方(騰訊)請求授權,直接就可以使用該賬戶授權的資源,相當於保存了用戶名和密碼,但是真正的用戶名和密客戶端(應用A)並不知道。
比如一個信息發布的網站,可以使用QQ賬號登錄,用戶通過安全頁面輸入QQ賬號信息後顯示登陸成功,同時詢問用戶
是否允許該網站使用用戶的一些信息,比如資料,相冊等,經過用戶確認後該網站可以拿到用戶授權的信息。同時拿到訪
問令牌 (Access Token),以後該網站就可以用這個訪問獲得該用戶的這些授權信息,而不需要再次輸入賬戶信息。一般該
網站也要提供刪除這個訪問令牌的入口。這樣就可以很方便的把用戶願意提供的信息拿到這個信息發布網站使用,而用戶
不需要再次登記錄入。
二.QQ 為Android移動設備開發提供QQ登陸的開發包,對上述的過程進行的封裝,對開發者來說可以方便的使用。要真正開發一個使用QQ賬戶登錄的App,就需要在騰訊社區開放平台注冊應用, 申請對應的 appid 和appkey ,這個開發App 時候要用到。
1. 可以在騰訊開放API站點下載最新的QQ登錄API庫文件和Demo。
2.下載後的Demo工程如下,導入了庫文件tencent_openapi.jar如下圖一所示。
Demo介紹了兩種登陸方式,手機瀏覽器和WebView,傳入不同的參數,進入不同的登錄方式,然後輸入賬戶信息後會
根據用戶選擇返回不同的結果。開發者可以參考這些對應的代碼即可完成授權登錄的功能開發。
⑵ Android開發怎麼實現第三方登錄
一般大家經常講的第三方登錄只是一個概念,就是獲得第三方平台的授權,而不是講應用使用這種授權來注冊用戶完成登錄的流程。
下面的是具體流程:
1、需要支持用戶注冊。
2、需要在應用登錄的時候提供第三方平台的圖標。
3、用戶點擊第三方平台圖標以後,你們嘗試判斷用戶是否已經授權。
4、如果用戶授權,獲取他的唯一識別符,比方說WeiboDb裡面的weiboId這個欄位。
5、如果用戶沒有授權,引導用戶授權,授權成功後也可以獲取weibo Id。
6、然後用這個唯一識別符登錄你們的系統,如果用戶已經注冊,則應該讓用戶登錄到你們的系統,流程結束。
7、如果你們的系統發現用戶沒有注冊,引導用戶進入你們應用的注冊頁面,並通過share sdk的showuser方法獲取用戶資料,自動幫助用戶完成注冊資料的填寫,然後等待用戶確認。
8、如果用戶確認了注冊信息,你們的應用就根據他的信息完成這注冊操作,如果操作成功,則應該讓用戶登錄到你們的系統,流程結束。
⑶ android 接入第三方qq登錄,登錄成功後,怎麼在另一個activity里注銷登錄呢
一般的,第三方登錄只是一個校驗過程,登錄狀態還是由自己系統管理
⑷ Android微信第三方登錄/支付,沒有走回調
1、要正式簽名的apk,使用debug包貌似無法調動微信
2、清單文件中要注冊微信回調
<activity
android:name=".wxapi.WXEntryActivity"
android:exported="true"
android:label="@string/app_name"
android:launchMode="singleTop"
android:theme="@android:style/Theme.Translucent" />
3、回調的類名,一定要是官網的WXEntryActivity.java。這里很迷,我之前名字是WXPayEntryActivity,因為之前使用了微信支付,就起了這個名字,後續又加入了微信分享,也沒有問題,當我又加入微信登錄之後,就不走回調了,改成WXEntryActivity.java成功走了回調。
4、回調類所在包名,一定要是wxapi:
.wxapi.WXEntryActivity