Как прочитать сессионный cookie PassportJS с помощью ngx-cookie? - PullRequest
0 голосов
/ 26 ноября 2018

Я изучаю Angular с помощью стекового проекта MEAN.Полный код здесь: Угловой интерфейс , Node.js API .

На сервере я использую паспортную аутентификацию с поведением на основе сеанса по умолчаниюи у меня настроены локальные, Google и Facebook стратегии.Passport будет вставлять пользовательские данные в файл cookie сеанса для анализа и использования клиентским интерфейсом для отображения имени пользователя, адреса электронной почты, профиля и т. Д.

Так что теперь в серверном, что мне нужноДля этого нужно извлечь cookie и десериализовать его, а затем написать методы, которые будут использовать указанный cookie для получения пользовательских данных, а также базовый метод isLoggedIn (), который будет просто проверять наличие действительного cookie.

Чтобы сделатьчто, я попробовал оба ngx-cookie и ngx-cookie-service и имею ту же проблему с обоими: я могу создать и прочитать созданный мной cookie, нокуки-файлы 'session' и 'session.sig', созданные Passport, остаются невидимыми для метода getAll (и любого get ('session')). ​​

Вся обработка кода, которая находится внутри authentication.service.ц .В настоящее время все методы предназначены для аутентификации на основе токенов, поэтому мне нужно их изменить.В частности, это метод, который я использую для проверки обработки файлов cookie:

public getCookies() {
    this.cookies.set('test', 'yay');
    console.log('test: ', this.cookies.check('test'));
    const allCookies = this.cookies.getAll();
    console.log('allCookies: ', allCookies);
    return allCookies;
}

Вывод на консоль этого кода показывает только один файл cookie, «test».Я вижу, что в инструментах разработчика браузера есть еще два файла cookie, «session» и «session.sig», к которым я хочу получить доступ.Но как?

Спасибо!

...