2011-10-11 89 views
0

我正在我的網站上實施Facebook登錄。我正在創建一個asp.net用戶以及Facebook用戶的詳細信息。通過這種方式,我可以控制用戶使用.NET會員身份登錄到我的網站,無論他們是否是Facebook用戶。使用ASP.NET登錄Facebook

我現在面臨的問題是安全性。當用戶使用Facebook登錄時,如果用戶存在於系統中(通過他們的facebook用戶名),我將調用帶有他們的Facebook詳細信息的web服務,然後我將它們登錄。但是,正如任何人都可以與別人一起調用Web服務elses facebook id並將它們登錄(如果該用戶存在於系統中)。有什麼我可以用來鏈接facebook用戶與我的asp.net用戶只能訪問該用戶,如訪問令牌。它也需要是不變的東西? Facebook會在響應對象中發回這樣的東西嗎?

任何幫助或建議,非常感謝。

謝謝

+0

你使用Facebook的登錄按鈕或一些'其他'的機制?你需要什麼'webservice'來獲取Facebook的詳細信息? –

+0

如果您使用Facebook登錄按鈕,則可以檢查用戶是否成功登錄。你做那個? –

+0

我使用的是Facebook Javascript API。我調用FB.login,然後使用響應對象來調用我自己的webservice。 – Peuge

回答

1

是的,我們可以從Facebook獲取該配置文件數據。使用該requestAccessToken Url,您可以獲得該訪問令牌。

requestAccessTokenurl = 「https://graph.facebook.com/oauth/access_token?client_id={0} REDIRECT_URI = {1}; client_secret = {2};代碼= {3}」

此外,我們可以使用此訪問令牌 requestProfileUrl =「https://graph.facebook.com/me」

請參閱本鏈路http://easyoauth.codeplex.com/

你也可以下載源代碼:)

拿到檔案資料

我們已經爲Facebook,T witter,LinkedIn,谷歌使用這個框架。這是非常直接的。我可以幫助你如何做到這一點。

謝謝

+0

請通過此鏈接http://benbiddington.wordpress.com/2010/04/23/facebook-graph-api-getting-access-tokens/ – himanshu

+0

所以訪問令牌是唯一的,它永遠不會改變?我需要的東西只能通過Facebook用戶登錄訪問。謝謝 – Peuge

+0

請參閱下面的鏈接。它可能會給你一些想法如何繼續你的要求。 http://bhaidar.net/post/2011/04/04/OpenID-Single-Sign-On-ASPNET-Web-Forms.aspx – himanshu