Lưu ý - đây là trong MVC - nếu bạn đang sử dụng Silverlight, bạn có thể cần sửa đổi một số mã.
Tôi đã sử dụng các mục sau. Trong "trang đích" của tôi, tôi có như sau:
if (Request.Cookies["AuthenticatedViaFacebook"] != null)
{
string val = Server.HtmlEncode(Request.Cookies["AuthenticatedViaFacebook"].Value);
if (val == "true")
{
return RedirectToAction("Login", "Account");
}
}
trong trang tài khoản/Đăng nhập tôi làm một cách nhanh chóng tái trực tiếp đến facebook:
var oAuthClient = new FacebookOAuthClient(FacebookApplication.Current);
oAuthClient.RedirectUri = new Uri(ConfigurationManager.AppSettings["RedirectUrl"]);
var loginUri = oAuthClient.GetLoginUrl(new Dictionary<string, object> { { "state", returnUrl } });
return Redirect(loginUri.AbsoluteUri + "&scope=user_birthday");
Nếu nó trở lại succesfull - Tôi cho phép người dùng và gửi chúng vào hệ thống.
Tôi lưu trữ id facebook trong cơ sở dữ liệu của mình, vì vậy tôi biết người dùng là gì.
Tôi không biết cách làm nhanh hơn hoặc tốt hơn - công việc này khá nhanh. Bạn thấy url trang facebook trong một giây hoặc lâu hơn và sau đó bạn đang ở trong hệ thống của mình
Nguồn
2011-05-31 12:25:13