ASP.NET WebAPI在两个独立站点上的身份验证

ASP.NET WebAPI在两个独立站点上的身份验证,asp.net,authentication,asp.net-web-api,Asp.net,Authentication,Asp.net Web Api,我们的情况: 1个运行Umbraco CMS的IIS网站,建立在WebAPI v1-www.somesite.com上 1个运行WebAPI v2的IIS网站-api.somesite.com 我们需要这两个单独的站点,因为我们的API逻辑是在WebAPI v2上构建的,我们不想仅仅因为Umbraco使用的旧版本与新版本不兼容而编写单独的v1 API(感谢Microsoft) 在站点1上,我们希望访问在站点2上运行的API。站点2上的某些API方法需要使用[Authorize]属性进行身份验

我们的情况:

  • 1个运行Umbraco CMS的IIS网站,建立在WebAPI v1-www.somesite.com上
  • 1个运行WebAPI v2的IIS网站-api.somesite.com
我们需要这两个单独的站点,因为我们的API逻辑是在WebAPI v2上构建的,我们不想仅仅因为Umbraco使用的旧版本与新版本不兼容而编写单独的v1 API(感谢Microsoft)

在站点1上,我们希望访问在站点2上运行的API。站点2上的某些API方法需要使用[Authorize]属性进行身份验证。
同时针对站点1和站点2对用户进行身份验证的正确方法是什么?

为什么不使用基于声明的身份验证令牌,该令牌可以包含在请求的授权标头中。如果您是在HTTP上发出请求,那么一定要考虑加密令牌。我不建议使用基本身份验证,即使您只在SSL上使用它,但这也是一种选择


在站点2上,您可以使用自定义授权筛选器或委托处理程序来提取和解析令牌,并设置上下文的当前用户和主体

听起来你的架构师需要被解雇了,为什么有人会在调查这些问题之前做出这样的决定?如果你读了这篇文章,你就会知道为什么。这是一个假设的情况,不是一个实际实现的解决方案。明显地