/ / Доступ до cookies nodejs в angularjs - angularjs, node.js, cookies

Доступ до cookies nodejs в angularjs - angularjs, node.js, cookies

Я будую простий веб-додаток, використовуючи nodejs як бекенд-інтерфейс з інтерфейсом angularjs.

З nodejs я встановлюю деякі файли cookie після входу користувача.

res.cookie(name,value)

Я створюю два файли cookie, кожне для імені користувача та user_id. і коли я бачу встановлені куки, використовую

res.json(req.cookies)

і відповідь json має фактичний user_id, а також іншу клавішу connect.sid, може бути, тому що я використовую connect-flash, я не знаю.

Але коли я отримую доступ до cookies в angularjs, використовуючи $ cookies.get ("user_id") значення - це якесь закодоване значення;

Наприклад: для фактичного user_id: 571be8d34666cf69664645d5,

Я отримую j% 3A% 22571be8d34666cf69664645d5% 22

Як я можу отримати фактичний userid?

Я знаю, що справжній ідентифікатор знаходиться між рядком, і я можу отримати це за допомогою деяких маніпуляцій з рядками, але є ще один спосіб.

Я використовую паспорт, експрес-сеанс, підключення-flash, connect-mongo, синтаксичний аналізатор файлів у моєму додатку.

Відповіді:

1 для відповіді № 1

Замість того, щоб використовувати два різні файли cookie, ви можете встановити об'єкт у cookie з express, а на кутовій стороні ви можете отримати файли cookie за допомогою:

$cookies.getObject("cookiename",object)

У вашому випадку напишіть функцію для розщеплення файлу cookie або використання JSON.parse(json) для розбору файлів cookie, що надходять від express. Я зробив це навпаки і встиг прочитати об'єкт cookie в експресі JSON.parse(cookieobj.user_id)


0 для відповіді № 2

Здається, що з кутовими 1.4, ви повинні використовувати $cookies.getObject("user_id") для десеріалізації версії значення. Почніть з цього, якщо не рішення, перевірити на консолі фактичне значення файлу cookie, щоб спробувати зрозуміти, де j:"571be8d34666cf69664645d5" приходити з.