我目前正在建立一个网站,我将为用户提供在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 :(得分:1)
fb.GetLoginUrl
方法相当简单,因为它只是将您在options
对象中提供的任何内容添加为创建的URL的参数。
所以拿
client_secret = "MY_APP_SECRET",
来自您的options
对象,它不应再出现在登录网址中。