Раздельная аутентификация внешнего и внутреннего сервиса в ASP. NET Core - PullRequest
0 голосов
/ 12 июня 2019

Я создал два отдельных проекта для своего веб-приложения:

  • Веб-API, который реализует обычный REST API, я называю его бэкэндом
  • Веб-страница бритвыприложение, которое является моим интерфейсом

(в основном следовал тому, что сделал Джеффри Т. Фриц в своей 8-часовой демонстрации , потому что это выглядело как хорошо разделенная архитектура) Это означает, что обатам запустить на стороне сервера.Я добавил опцию аутентификации «отдельный пользователь» в мой интерфейс, которая создала БД, в которой хранятся пользовательские данные, и я могу просто авторизовать страницы на основе входа в систему.Насколько я понимаю, это аутенти.Опция в основном означает, что интерфейс управляет своим собственным набором пользователей в своей БД.

Мне не хватает защиты этого Web API с той же авторизацией, чтобы люди не могли анонимно использоватьAPI.Как это можно сделать?Будет ли решение отличаться, если я захочу перейти на аутентификацию на основе Azure?

Я полагаю, что клиенту придется присоединять к запросам некоторые пользовательские данные, а затем сервер каким-то образом проверяет это.(Но я не могу себе представить, как, если он действительно не знает о службе аутентификации, может быть, это должна быть отдельная сущность, доступная обоим? В таком случае, я должен просто пропустить то, что у меня есть, и перейти прямо к Azure?)

Примечание: я довольно плохо знаком с безопасностью (и веб-приложениями в целом).

1 Ответ

1 голос
/ 12 июня 2019

Возможно, стоит взглянуть на токены JWT для безопасности. Это довольно стандартный, хорошо известный шаблон / метод защиты веб-приложений. Вот более «полное» описание с примером: https://garywoodfine.com/asp-net-core-2-2-jwt-authentication-tutorial/

Вы сможете настроить безопасность в одном месте и использовать ее для аутентификации обоих приложений

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