天天看點

php背景oauth2.0淘寶自動登入,oauth授權登入在授權成功後如何自動關閉視窗并重新整理源網頁?...

LZ主要想問前端怎麼做吧?作為一個寫背景的,對背景的處理你應該比較熟悉了,我就不多說了。

前端主要在于兩點:

要保證打開的視窗可控(可以關閉)

要能收到授權成功的通知/事件

第一點而言,很簡單 window.open() 打開視窗的時候函數傳回值保留下來。請參考 window.open on MDN.

而第二點,就需要前背景合作了,一般可以通過輪詢、長連接配接拉取、EventSource甚至WebSocket等方式來搞。由于登入功能不是一個長時間跑的業務,一般輪詢就可以了。

前端僞代碼:

$('#QQ登入按鈕ID').on('click', function(){

// 打開小窗,讓使用者登入,并保留視窗對象以備關閉

var authWin = window.open('你的授權的頁面URL', '_blank', 'width=600,height=400,menubar=no,toolbar=no,location=no')

// 輪詢是否授權成功,授權成功後關閉小窗,并重新整理頁面

var timerId = setInterval(function(){

$.getJSON("你的授權是否成功的輪詢位址?相關參數", function(response){

if (response.授權成功){

clearInterval(timerId)

authWin.close()

window.location.reload()

}

})

}, 500)

})