我正在开展一个项目,我决定将业务功能划分为多个服务(即多个Web API项目),其中每个服务都将使用自己的域模型提供特定功能。
在项目结构方面,我有3个视觉工作室项目/ sln。
预订的Web-Api项目(http://booking.testsite.com/api/..。)
供应商的Web-Api项目(http://supplier.testsite.com/api/.。)
AngularJS + Asp.Net MVC应用程序(Web应用程序)客户端应用程序,将使用以上API
两个Web Api项目都通过EF使用相同的SQL Server数据库。
对我来说,问题是在哪里实现身份验证?我应该创建一个单独的身份验证服务。
我在我的booing web-api项目中使用基于令牌的身份验证工作正常,但我如何使用相同的令牌来授权供应商web api操作和控制器?除非我在两个项目中实现Account控制器和IdentityUser。
有没有办法在web-api项目中没有重复登录机制的情况下实现这一点?
我还想创建第三个服务(Web-Api项目),仅用于供应商和预订服务的身份验证和呼叫认证服务,但仍然不确定它是如何工作的?
任何帮助将不胜感激。
额外的问题: 如果我有3 api服务,预订,供应商和身份验证,并且用户试图通过传递令牌来访问预订服务上的受保护资源。
我是否可以通过创建自定义授权属性来调用身份验证服务,并将该令牌转发给我的授权服务以检查它是否有效?还不确定如何在身份验证服务帐户控制器中实现CheckToken排序操作。