OAuth: OAuth(開放受權)是一個開放標準,容許用戶受權第三方網站訪問他們存儲在另外的服務提供者上的信息,而不須要將用戶名和密碼提供給第三方網站或分享他們數據的全部內容。web
QQ登陸OAuth2.0:對於用戶相關的OpenAPI(例如獲取用戶信息,動態同步,照片,日誌,分享等),爲了保護用戶數據的安全和隱私,第三方網站訪問用戶數據前都須要顯式的向用戶徵求受權。
QQ登陸OAuth2.0採用OAuth2.0標準協議來進行用戶身份驗證和獲取用戶受權,相對於以前的OAuth1.0協議,其認證流程更簡單和安全。api
網站可經過如下兩種方式接入:
(1)使用QQ互聯提供的SDK包,用戶體驗統一,只須要修改少許代碼,不須要理解驗證受權流程,須要快速接入QQ登陸的網站和移動應用可選用此方法。
QQ互聯提供JavaScript,PHP,Java等多個版本的SDK,詳見:SDK下載
QQ登陸JS SDK詳見:JS SDK使用說明安全
(2)根據QQ登陸OAuth2.0協議,自主開發,此方法自定義程度較高,須要與現有系統進行整合的網站和移動應用可選用此方法。app
詳見:OAuth2.0開發文檔測試
移動應用開發可經過如下兩種方式接入:
(1)使用QQ互聯提供的iOS,Android等平臺的SDK包,用戶體驗統一,只須要修改少許代碼,不須要理解驗證受權流程,須要快速接入QQ登陸的應用可選用此方法。
iOS與Android版本的SDK均支持web view與瀏覽器兩種方式,即支持跳轉到手機瀏覽器上進行QQ登陸與驗證流程,開發者可在SDK包中選擇瀏覽器模式便可,但瀏覽器方式用戶跳躍較大,不建議使用。
詳見:SDK下載網站
(2)根據QQ登陸OAuth2.0協議,自主開發,此方法自定義程度較高,須要與現有系統進行整合的移動應用可選用此方法。spa
建議移動應用使用webview的方式打開登陸頁面,登陸成功後,獲取accesstoken與openid,webview控件關閉,用戶體驗較好。
詳見:OAuth2.0開發文檔日誌
QQ登陸OAuth2.0整體處理流程以下:
Step1:申請接入,獲取appid和apikey;
Step2:開發應用,並設置協做者賬號進行測試聯調;
Step3:放置QQ登陸按鈕;
Step4:經過用戶登陸驗證和受權,獲取Access Token;
Step5:經過Access Token獲取用戶的OpenID;
Step6:調用OpenAPI,來請求訪問或修改用戶受權的資源。code
開發者須要根據騰訊提供的UI規範,請求說明,接口說明進行UI和代碼的開發。
詳細信息請參見OAuth2.0開發文檔。