Как обращаться с файлами cookie сеанса аутентификации пользователя в приложении angularJS? - PullRequest
0 голосов
/ 12 сентября 2018

Новое в веб-разработке AngularJS. В настоящее время у меня есть приложение, где я должен использовать форму глобальной аутентификации. SPA имеет несколько частичных страниц / просмотров. Для перехода от вкладки к вкладке я использую ngCookies для хранения информации для входа в систему клиента.

If the user refreshes the page, I read the cookies and bring the related information for a given customer.

It is working fine but the problem arises when the user closes the application without clicking the logout button and the cookies remain in the browser.

So, the next time another customer logs onto the site, it reads the old cookies and bring the old customer information instead of currently logged-on user.

function writeLoginCustIDCookie(loginCustID) {
$cookies.put("LoginCustID", loginCustID, { path: '/' });
}

function getLoginCustIDCookie() {
return $cookies.get("LoginCustID");
}

Пожалуйста, помогите мне, как решить эту проблему.

1 Ответ

0 голосов
/ 12 сентября 2018

Вам нужно будет настроить поток.Вот что я делаю:

  • Позвольте браузеру обрабатывать куки.Когда ваш сервер отвечает куки, браузер установит их.
  • Поскольку браузер обработал cookie, все, что вам нужно сделать, это добавить withCredentials: true к вашим http-запросам, чтобы куки отправлялись.
  • Теперь информация о пользователе;когда вы входите в систему, вы, вероятно, получаете какой-то ответ от сервера, содержащий информацию о пользователе.Я обычно сохраняю это в localStorage.Эта информация НЕ является конфиденциальной информацией.Просто некоторая базовая информация.
  • Когда пользователь нажимает кнопку выхода из системы, вы удаляете данные localStorage и отправляете запрос / logout на сервер.
  • Если пользователь не выходит из системы, закрывает браузери он приходит снова .... хорошо он будет авторизован. Вот что происходит с большинством сайтов.Он будет входить в систему до истечения срока действия файла cookie.
  • Если пользователь вернется через неделю, допустим, срок действия файла cookie истек.Вы сделаете некоторый запрос к бэкэнду, бэкэнд ответит 401. Здесь вы поймаете эту ошибку, удалите данные localStorage и перенаправите его на страницу входа.

Это то, что я обычно делаю.Думаю, ничего сумасшедшего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...