我已经有一个带有身份验证和授权的ASP MVC Web应用程序。
现在我正在开发一个Android应用程序,它将执行与Web应用程序几乎相同的操作。
我可以使用我的ASP MVC Web应用程序将json数据返回到我的android应用程序,但是由于搜索了很多内容,建议我将Web API用于android应用程序。
我的问题是,用认证和授权制作一个专用的Web API是否值得(coz ASP MVC的Authorization与Web API的不同)。
请告知我,如果我一直将ASP MVC Web应用程序用作android应用程序的json API,会出现任何问题吗。
答案 0 :(得分:1)
您可以使用MVC应用程序,可以有一些仅返回JSON数据并从任何地方调用这些数据的控制器。但是,当您从另一个应用程序调用它们时,仍然需要验证对它们的访问权限。
您的另一个选择是对架构进行一些重新设计。创建一个合适的WebApi,对它进行身份验证。 完成此操作后,您可以从MVC和拥有的任何其他应用中以相同的方式调用它。这样一来,您就能保持一致,并且数据来自一个地方。
如果您从另一个应用程序调用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