/ / Поділитися сесією між двома вузлами додатків - node.js, mongodb, passport.js

Поділитися сесією між двома вузлами додатків - node.js, mongodb, passport.js

У мене є вузлова програма, яка використовуєпаспорт-місцевий-мангуст для автентифікації. У мене є додатковий додаток до вузла, який з'явився у теці iframe першого додатку. Я хочу захистити експрес-маршрути у другому додатку з тим же самим сеансем першого додатку, щоб користувач входив лише один раз, але Експрес-маршрути у другому додатку все ще захищені. Чи існує спосіб для двох вузлів додатків поділитися сеансом? А може, є ще один підхід?

Дякую.

Відповіді:

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

Найпростіший спосіб, яким я можу думати про це, буде простомагазин сесій в MongoDB. Потім проміжне програмне забезпечення вашого другого додатка може перевірити сесію, пропущену в запиті, до тієї ж бази даних. Недоліком цього підходу є те, що вам потрібно буде реалізувати одну й ту саму логіку автентифікації в 2 місцях.

Можливо, навіть краще, можна побудувати 3-ймікросервіс, який спеціально обробляє автентифікацію. Це в основному оберне ваш магазин сеансів і централізує логіку автентифікації в одному місці. Обидва інші 2 додатка потім споживатимуть цю послугу. Це область, до якої я все ще навчаюсь особисто, і цей сайт був корисним: https://dejanglozic.com/2014/10/07/sharing-micro-service-authentication-using-nginx-passport-and-redis/.