2011-11-16 80 views
0

我一直在閱讀這個Facebook Dev guide on AuthenticationFacebook登錄按鈕 - 它是如何工作的?

,我想知道究竟怎樣基於XFBML登錄按鈕的工作原理到與用戶的一個的access_token cookie被種在你的web應用程序的域的上下文點。

我遵循上面的教程,但它與facebook登錄按鈕(打開彈出窗口的按鈕)的工作方式完全不同。

有沒有一個資料來解釋幕後發生了什麼?我對實現類似的東西很感興趣。

回答

0

這可能是一個彈出式以及(https://www.facebook.com/dialog/oauth? 的client_id = YOUR_APP_ID & REDIRECT_URI = YOUR_URL &範圍=電子郵件,read_stream),我相信你包括顯示器=彈出和它會彈出。一旦用戶被「認證」,facebook然後通過access_token返回到redirect_uri中的值。現在使用此訪問令牌,您可以通過將「access_token =」附加到url來代表用戶代表圖形進行調用。

+0

從技術上講,當我點擊Facebook登錄按鈕,JavaScript的打開一個包含APP_ID,REDIRECT_URI和其他相關參數的Facebook網址的新窗口。 據我所知,在用戶輸入憑據後,facebook將訪問令牌作爲參數重定向回「REDIRECT_URI」,但彈出窗口如何知道一旦發生這種情況 - 關閉自身並重新加載父窗口? –

0

從子窗口中,您可以訪問父DOM

window.opener 

父腳本

function openWin() 
{ 
    myWindow=window.open('http://apps.streetdeal.sg/buddhi/b.html','','width=200,height=100'); 
    myWindow.focus(); 
} 

function parent_function() 
{ 
    alert('a'); 
} 

孩子腳本

function child_function() 
{ 
    window.opener.parent_function(); 
}