2013-02-28 78 views
1

我目前正在建設一個網站,我會提供用戶鏈接到Facebook上分享照片,從而使應用程序將:揭露客戶端密碼的Facebook SDK登錄網址?

  • 從Facebook
  • 提供的鏈接用戶請求權限重定向到與用戶的認可權限的訪問代碼的網站
  • 服務器端上傳照片到用戶的照片

要生成的鏈接第一步,我這樣做:

var fb = new FacebookClient(); 
var options = new 
{ 
    client_id = "MY_APP_ID", 
    client_secret = "MY_APP_SECRET", 
    redirect_uri = string.Format("http://localhost:51182/Home/FacebookShare?path={0}", Server.UrlEncode(path)), 
    response_type = "code", 
    scope = "publish_stream" 
}; 
var loginUrl = fb.GetLoginUrl(options); 

然後將這個loginUrl值添加到我的MVC ViewModel中,並用於View中的鏈接。

但是,我注意到loginUrl包含明文形式的client_secret值。這不是一件壞事嗎?應該不是用戶不是能看到client_secret?我是否以這種錯誤的方式去做?

+0

@CBroe:是的,你確實是對的。如果您願意,請繼續並添加爲答案。我需要去找到我從中得到的代碼的教程,並讓作者知道... – David 2013-02-28 18:42:11

回答

1

fb.GetLoginUrl方法相當簡單,因爲它只是將您在options對象內提供的任何東西添加爲創建的URL的參數。

因此,採取

client_secret = "MY_APP_SECRET", 

你的options對象的,它不應該在登錄URL顯示出來了。

+1

爲了完整性(以幫助任何人後來可能偶然發現),這是我得到該代碼的頁面:http ://www.thepcwizard.in/2013/02/working-with-facebook-c--sharp-sdk.html – David 2013-02-28 18:50:50

+2

@大衛好,趕上那個。我盲目地關注了開發人員的教程。我對此表示歉意。爲了進一步完整,文章現在更新和修復。 – ThePCWizard 2013-03-01 05:50:43