Я рассматриваю возможность использования экспресс-сеанса для хранения токенов доступа для пользователей, прошедших проверку подлинности у поставщика OAuth 2, и предоставления клиентскому приложению надежно подписанного файла cookie.
Насколько я понимаю, я могу затем получить токен, связанный с файлом cookie, в последующих запросах со стороны сервера хранилища сеансов, например, mongodb, который затем я могу использовать, скажем, в заголовке авторизации носителя в запросах на разделение конечной точки с использованием экспресс-маршрутов.
Я столкнулся с PassportJS и пытаюсь понять, нужно ли мне использовать его в моей настройке.
В настоящее время я обрабатываю POST-запросы на вход в свое экспресс-приложение, а затем делаю запрос токена доступа, используя поток запросов типа предоставления учетных данных владельца ресурса. Это работает нормально, и я получаю токен доступа вместе с токеном обновления и сроком действия от поставщика.
Из того, что я могу сказать, PassportJS предлагает стратегии аутентификации для всех видов провайдеров, но я не уверен, что он будет поддерживать тип гранта, используемый в моем случае. Кроме того, я уже выполняю работу по запросу и получению токена, поэтому не уверен, насколько полезным будет для меня PassportJS.
Прочитав документы экспресс-сеанса, я думаю, что это даст мне все, что мне нужно, плюс я могу установить срок действия файла cookie на основе времени истечения срока действия токена, которое я получаю от шлюза API.
Я думаю, что PassportJS находится над экспресс-сеансами и просто получает доступ к экспресс-сгенерированному сеансу, это правильно?