Доброго времени суток! Возникла следующая трудность, при передаче данных о пользователе, прошедшем аутентификацию в приложении ASP.NET MVC на строну AngularJS + ASP.NET WebApi. В обоих приложениях настроена аутентификация пользователей, хотелось бы, чтобы после авторизации пользователя в ASP.NET MVC приложении, пользователь получал доступ (по средствам: cookies, token или SSO) к приложению AngularJS + ASP.NET WebApi.
Единственный рабочий способ к которому я пришел, это создание cookie в приложении MVC (черновой вариант).
ASP.NET MVC:
public void CreateCookie(string user, string password, bool isAuth = false)
{
const string cookiesName = "AUTH_COOKIES";
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, user, DateTime.Now, DateTime.Now.Add(FormsAuthentication.Timeout), isAuth, password, FormsAuthentication.FormsCookiePath);
HttpCookie cookies = new HttpCookie(cookiesName)
{
Value = FormsAuthentication.Encrypt(ticket),
Expires = DateTime.Now.Add(FormsAuthentication.Timeout)
};
Response.Cookies.Add(cookies);
}
И считывание данного cookie в AngularJS + ASP.NET WebApi по средствам 'ngCookies' и передача в WebApi
AngularJS + ASP.NET WebApi:
public UserInfo GetCookies(string encryptCookie)
{
var decryptCookies = FormsAuthentication.Decrypt(encryptCookie);
return new UserInfo() { Username = decryptCookies.Name, Password = decryptCookies.UserData };
}
Данный способ имеет недостаток в том, что если cookie "жив", то авторизация будет бесконечной, понимаю, что надо ограничить время действия cookie или смотреть на его дату создания.
После изучения различных статей по cookies, token, SSO, запутался в том, какой вариант будет лучшем в данной ситуации?
Аутентификация в приложении AngularJS + ASP.NET WebApi настроена по данной инструкции
Буду благодарен за любые статьи и ссылки.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У Xamarin Forms для android проекта хочу разместить изображение по нажатию на кнопкуДля этого в MainPage
Для перемещения окна есть прозрачный Rectangle, но если двигать окно и в этот момент это окно "превращается" в другое:
После выполнения метода Clientmain выбрасывается исключение ObjectDisposedException (Доступ к ликвидированному объекту невозможен)