вы можете использовать приложение MVC, у вас может быть несколько контроллеров, которые возвращают только данные JSON и вызывают их из любого места. Вам по-прежнему необходимо аутентифицировать доступ к ним, когда вы вызываете их из другого приложения.
Другим вариантом будет немного переделать вашу архитектуру. Создайте правильный WebApi, разберитесь с аутентификацией.
Как только вы это сделаете, вы можете вызывать его как из своего MVC, так и из любого другого приложения, которое у вас есть, таким же образом. Таким образом, вы сохраняете согласованность, а ваши данные поступают из одного места.
Если вы вызываете свои контроллеры MVC из другого приложения, вы в основном оказываете давление на приложение MVC, которое теперь должно обслуживать и внешнее приложение. Тогда слишком большое количество вызовов повлияет на производительность вашего приложения MVC.
Гораздо проще правильно масштабировать API.
Я предпочитаю добавлять защиту JWT в мои API. Тогда ваше приложение MVC становится клиентом, мобильное приложение - другим клиентом, если вам нужно добавить некоторую информацию о пользователе, вы можете, вы также можете добавить дополнительные претензии к своим токенам, если и когда это необходимо.
Посмотрите здесь:
https://jwt.io/introduction/
https://devblogs.microsoft.com/aspnet/jwt-validation-and-authorization-in-asp-net-core/
Я использовал IdentityServer 3 7 4 с хорошими результатами в прошлом: https://github.com/IdentityServer/IdentityServer4