Задать вопрос
@TerraInkognito

Авторизация в приложении WPF с использованием Web Api. Как?

Здравствуйте, уважаемые программисты! Хочу осуществить следующую архитектуру. Веб-приложение "Основное" на net core 2.1, авторизация EF стандарт с БД MS SQL(реализовано). Нужно осуществить авторизацию из WPF приложения с использованием данных полученных после регистрации в "Основном"приложении. Для этого необходимо дописать WEB API методы в "Основном" приложении с поддержкой метода POST(будут дополняться данные полученные из WPF). Возникает 2 вопроса: 1) Как защитить метод проверки пароля, который придется высунуть наружу от брутфорса, ибо его можно будет вызывать не только из WPF но и и любым Get запросом на сервере 2) Как защитить POST метод записи данных из WPF приложения, ибо данные пользователя можно будет подменить используя этот же POST запрос вне приложения WPF. Возникает желание включить аттрибут авторизации в методах контроллера, но как проверить авторизован ли пользователь, который пришел из WPF приложения и не перепутать с его авторизацией в "Основном" приложении(предположим уже висит сессия на сайте). Буду рад услышать все возможные методы для реализации этой задумки.
В поисках решения, приступил к использованию политики Cookies в WPF приложении, т.е WPF приложение так же будет проходить авторизацию, устанавливать сессию на основе куки, и доступ к контроллеру соответственно только авторизованному пользователю. Поправьте если шагаю в темный лес, а не к истине
  • Вопрос задан
  • 956 просмотров
Подписаться 2 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 2
Morpheus_God
@Morpheus_God
Вы можете из WPF приложения в заголовках при запросе указывать, что с него авторизация. А на стороне бэкенда проверять от чего пришел запрос.
Ответ написан
@TerraInkognito Автор вопроса
Всем спасибо за помощь. Решение-настройка IIS на ограничение количества запросов. Метод апи остается в свободном доступе, без аутентификации. Метод POST закрытый(Non Action) только после успешного Get запроса с проверкой логина и пароля
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы