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

时间:2015-01-27 14:17:45

标签: 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上,我们不想编写单独的v1 API,因为Umbraco使用的旧版本与新版本不兼容(谢谢微软)。

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

1 个答案:

答案 0 :(得分:0)

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

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