2013-02-28 57 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