Я пытаюсь использовать Facebook для авторизации пользователей с помощью проверки подлинности форм в ASP.NET MVC. Я получаю токен доступа от Facebook и URL-адрес аватара пользователя и передаю эти данные контроллеру, все это прекрасно работает до момента, когда мне нужно перенаправить пользователя. Я пробовал FormsAuthentication.RedirectFromLoginPage
, RedirectToAction
, Response.Redict
. Ни один из этих методов не работает, а также никаких ошибок. Вот контроллер:ASP.NET MVC не работает с аутентификацией форм
[HttpPost]
public ActionResult Login(string Url, string AccessToken)
{
string username;
string fullname;
var client = new Facebook.FacebookClient(AccessToken);
dynamic result = client.Get("me", new { fields = "username,first_name,last_name" });
if (result.first_name == null | result.last_name == null)
{
username = result.username;
fullname = null;
}
else
{
username = result.username;
fullname = result.first_name + " " + result.last_name;
}
if (UserExist(username) == false)
{
CreateUser(username, Url, fullname);
//FormsAuthentication.SetAuthCookie(username, true);
//return RedirectToAction("Register", "Home");
FormsAuthentication.RedirectFromLoginPage(username, true);
}
else
{
HttpCookie c = Request.Cookies.Get("UserGuid");
if (c == null)
{
c = new HttpCookie("UserGuid")
{
Value = GetUserGuid(User.Identity.Name),
Expires = DateTime.Now.AddYears(1)
};
Response.Cookies.Add(c);
}
if (result.first_name == null || result.last_name == null)
{
username = result.username;
}
else
{
username = result.first_name + " " + result.last_name;
}
try
{
//FormsAuthentication.SetAuthCookie(username, true);
//Response.Redirect(FormsAuthentication.DefaultUrl);
FormsAuthentication.RedirectFromLoginPage(username, true);
}
catch (Exception)
{
throw new Exception();
}
}
return View();
}
ли вы называете 'метод login' с помощью AJAX? –
Да, это так. –