Как защитить веб-API ASP.NET (аутентификация между двумя приложениями) - PullRequest
0 голосов
/ 02 июля 2019

Мне нужно аутентифицировать пользователей для моего REST API в ASP.NET Web API. Я не уверен, как это сделать, потому что это будет от одного приложения к другому, но я не могу контролировать одно приложение или его пользователей, однако мне нужно аутентифицировать его пользователей, чтобы никто другой не имел доступа.

Детали

Приложение A должно иметь возможность открывать Приложение B в отдельном окне / вкладке выполняет некоторую функцию и ожидает результата обратно на Приложение A .

Приложение B может запускаться или не запускаться на отдельном веб-сервере и не будет иметь доступа к базе данных пользователей Приложения A и не будет иметь прямого способа аутентификации / авторизации. пользователи в любом традиционном смысле. (По крайней мере, ни одного из тех, о которых я знаю, поэтому я и спрашиваю здесь.)

Я включил CORS и установил в заголовке Access-Control-Allow-Origin значение Домен / IP-адрес приложения А, но я не уверен, что это действительно безопасно, и я считаю, что это легко обойти, учитывая, что POSTMAN, кажется, работает в любом случае.

Прямо сейчас приложение A отправляет идентификатор пользователя в API, затем я генерирую «токен», который представляет собой просто строку JSON, содержащую идентификатор пользователя и метку времени, зашифрованную AESThenHMAC, и возвращаю ее. Затем приложение A использует это при отправке запроса в приложение B. Единственное (я думаю), что не позволяет неавторизованным пользователям получить доступ к API, - это CORS, но я понятия не имею, действительно ли это что-то ограничивает.

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

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