1

我目前正在构建一个网站,我将为用户提供一个在 Facebook 上分享照片的链接,应用程序将:

  • 向用户提供从 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吗?我是不是走错了路?

4

1 回答 1

1

fb.GetLoginUrl方法相当简单,因为它只是将您在options对象中提供的任何内容作为参数添加到创建的 URL。

所以拿

client_secret = "MY_APP_SECRET",

超出您的options对象,并且它不应再显示在登录 URL 中。

于 2013-02-28T18:44:14.273 回答