Могу ли я использовать ASP MVC Web App, чтобы вернуть JSON вместо Web API в приложение Android? - PullRequest
0 голосов
/ 26 апреля 2019

У меня уже есть веб-приложение ASP MVC с аутентификацией и авторизацией.

и сейчас я работаю над приложением для Android, которое будет выполнять почти то же самое, что и мое веб-приложение.

Я могу использовать свое веб-приложение ASP MVC для возврата данных json в мое приложение для Android, но, поскольку я много искал, мне предложили использовать Web API для приложения для Android.

Мой вопрос: стоит ли создавать специальный веб-API с аутентификацией и авторизацией (ведь авторизация ASP MVC отличается от авторизации в веб-API).

Пожалуйста, посоветуйте мне, не будет ли проблем, если я продолжу использовать свое веб-приложение ASP MVC в качестве json API для приложения Android?

1 Ответ

1 голос
/ 27 апреля 2019

вы можете использовать приложение 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

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