我已經使用Twitter和Facebook進行了OAuth身份驗證。目前,對於這些網站中的每個網站,我的服務器都會將用戶重定向到指定的網址(例如,使用Twitter的http://api.twitter.com/oauth/authorize),然後通過回叫網址接收驗證參數。如何通過打開新窗口來執行OAuth請求,而不是從當前頁面重定向用戶?
但通過這種方式,用戶被重定向到我的頁面(到Facebook或Twitter),並且只有在輸入正確的用戶名密碼後纔會返回。這就像用戶嘗試推文時http://techcrunch.com那樣。
我記得在某些網站中,我已經看到我們可以不通過重定向用戶連接,而是打開彈出窗口供用戶輸入憑據。驗證完成後,彈出窗口關閉,主頁面刷新新內容。
這可能是一個非常簡單的任務與JavaScript,但我仍然無法弄清楚。我可以在彈出窗口中打開認證URL,但是如何獲得結果&更新主頁面?
你的意思是我把JavaScript放在彈出窗口中來做到這一點? –
是的,在彈出窗口中,這是一個成功回調oauth授權的頁面。所以流程是:你打開一個帶有授權頁面的彈出窗口(例如在twitter.com上),在成功授權twitter將用戶重定向到由你給出的URL(它在相同的彈出窗口中打開)後,回調頁面,你從我的答案中放了一個javascript,* opener *窗口被重新加載,你也可以簡單地使用javascript關閉彈出窗口。 – WTK
我會試一試吧 –