Я работаю над веб-сайтом, который позволит нескольким арендаторам использовать субдомены.
Учетные записи смогут добавлять свои собственные субдомены, если они еще не существуют;Например:
http://tenant1domain1.mywebsite.com
http://tenant1domain2.mywebsite.com
http://tenant2domain1.mywebsite.com
http://tenant2domain2.mywebsite.com
Я также добавляю возможность входа в систему с помощью нескольких провайдеров oauth (Google, Microsoft, Azure Ad и т. д.), используя passport.js.
Все эти услугивсе обратные вызовы к основному домену (mywebsite.com/login/google/callback), и мне нужно определить поддомен запроса входа в систему, чтобы перенаправить пользователя.
Поскольку у одного пользователя может быть несколько поддоменов, яЯ не могу легко сохранить это в своей записи пользователя.
В настоящий момент у меня возникла проблема, когда я не могу найти способ сохранить информацию об арендаторе после этапа проверки подлинности паспорта.
Я попытался использовать переменные сеанса, но сеанс сбрасывается на этапе обратного вызова и теряет всю информацию, которую я там хранил.
Я действительно думал о добавлении поддоменов в качестве разрешенных URL-адресов обратного вызова для каждой службы, а затем просто установилобратный вызов в поддомен, но это быстро становится неуправляемым.
Есть ли способ заставить passport.js сохранить существующий сеанс переменнымВы не повреждены или используете другой способ для передачи информации об арендаторе?