Можно ли использовать токен на предъявителя для аутентификации двух систем webapi на одном сервере? - PullRequest
0 голосов
/ 24 января 2019

У нас есть два приложения webapi (ядро и поддержка), настроенные на одном веб-сервере IIS, работающем в нашем локальном домене.Наши пользователи проходят проверку подлинности в основном приложении с использованием активного каталога, а основная система возвращает маркер-носитель.Этот токен затем используется для авторизации всех вызовов API из нашего клиента ReactJS.В дополнение к основному приложению у нас также есть веб-приложение поддержки.Любые вызовы этой конечной точки API системы также должны быть авторизованы.

Можно ли использовать один и тот же токен-носитель, выданный основным приложением для приложения поддержки?

Мы настроили отдельный веб-сервер, сервер базы данных и клиент для тестирования процесса.После создания и развертывания двух веб-приложений api и клиента ReactJS мы можем войти в систему через активный каталог, получить токен-носитель и с этим токеном аутентифицироваться как на основной, так и на вспомогательной платформах.

Однако, когда мы копируемте же файлы и конфигурации на нашем клиентском сервере, мы получаем ошибку авторизации 401 в домене поддержки;основной домен работает отлично.

Мы установили SSL-сертификаты также в обеих средах.

Если мы установим в приложении поддержки Разрешить все происхождение для CORS, оно будет работать, поскольку нет авторизации.Однако, когда мы устанавливаем источники для проектов ReactJS и Core api, мы получаем ошибку 401 в домене поддержки.

Мы не ожидали, что токен из основного приложения авторизуется для приложения поддержки.Однако это работает в нашей доменной среде, и мы не уверены, почему.Это еще больше сбивает с толку, почему оно не работает в среде клиентов.

1 Ответ

0 голосов
/ 24 января 2019

В случае, если это кому-нибудь поможет ... Причина, по которой это сработало для нас, заключается в том, что у нас все веб-приложения работали в одном пуле приложений. Это означало, что они использовали один и тот же ключ компьютера, и поэтому токен на предъявителя от одного был бы авторизован для всех. Как только мы переместили их в собственные пулы приложений, мы смогли повторить ту же проблему, что и клиент (т. Е. Авторизация 401). Исправление заключается в том, чтобы либо располагать их в одном пуле приложений, либо добавлять один и тот же ключ в файлы приложений web.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...