Где выполнять аутентификацию в проекте, состоящем из мобильного приложения Xamarin, Net Core Web API и Net Core MVC приложения - PullRequest
0 голосов
/ 14 июля 2020

Это мой первый проект такого рода.

Проблема:

Моим клиентам необходимо отображать сделки для своих клиентов в мобильном приложении Xamarin. Мобильное приложение извлекает данные (сделки) из базы данных Azure через Rest Api и отображает их пользователям. Клиенты, которые хотят продвигать свои сделки, должны иметь портал для загрузки / обновления новых сделок в базу данных, которую, в свою очередь, отображает мобильное приложение. Для этого портала я подумываю использовать проект Net Core MVC.

Здесь возникает мой вопрос об аутентификации на основе ROLE. Различные клиенты могут выполнять операции CRUD с определенными данными только из база данных:

1. Следует ли Net Core MVC выполнять аутентификацию, ссылаясь на таблицу Users в базе данных, и предоставлять доступ в соответствии с ролями?

2. Должен ли Net Core MVC просто использовать HTTP-запросы для вызова Net Core Web Api, передавать учетные данные в API и возвращать токен, который будет определять доступ на основе ролей? Так должна ли аутентификация оставаться в ответственности api, а MVC просто выполняет операции CRUD на основе уровня доступа? Более того, должен ли проект MVC вызывать Rest API для всех операций CRUD?

Я не уверен, какой «правильный» способ для этой архитектуры с точки зрения безопасности, и просто общий модульный дизайн. Любая помощь приветствуется.

...