首页 > 解决方案 > 使用 WebAPI 进行基于令牌的身份验证来验证 MVC 和移动应用程序

问题描述

我想要做的是使用 WebAPI 来验证 MVC 应用程序和使用基于令牌的身份验证的移动应用程序。我目前让 MVC 应用程序直接使用 VS 生成的标准 .NET SignInManager 代码对数据库进行身份验证。我在不同的项目中有我的 WebAPI,并将驻留在不同的网站中。

我有使用 API 进行基于令牌的身份验证的移动应用程序。我现在要做的是移动 MVC 应用程序以使用相同的身份验证。我希望像现在一样使用 SignInManager,只需使用令牌将底层身份验证位置更改为 API。我这样做是为了在 MVC 应用程序中对用户进行身份验证,并使用 API 中的令牌来保护 API。

我不确定这是一个好主意,或者实现这一目标的最佳方法是什么。这可能是个坏主意。也许我应该将 API 和 MVC 应用程序合并到同一个项目中?任何反馈或想法都会很棒。

如果这没有意义,请告诉我。

标签: asp.net-mvcasp.net-web-api2

解决方案


Web Api 的想法是使用具有多个客户端的服务的可能性,即一个 Angular Web 应用程序、一个 Xamarin 移动应用程序和一个控制台应用程序,所有这些都使用相同的身份验证方法使用 API 的服务,通常基于令牌,从概念上讲,这就是想法。

现在,在您的场景中,您创建了一个 MVC Web 应用程序,然后创建了一个移动应用程序,但是对于您创建的移动应用程序,您还创建了一个 Web Api,因此基本上您有两个放置业务逻辑的位置。

我建议的是移动和集中您的 Web Api 中的所有内容并仅在您的 MVC 客户端项目中使用该 Auth,您只需像在移动应用程序中一样存储您的令牌。


推荐阅读