【问题标题】:Owin authentication between MVC 5 and Web API (separate IIS applications)MVC 5 和 Web API 之间的 Owin 身份验证(单独的 IIS 应用程序)
【发布时间】:2026-02-02 02:20:04
【问题描述】:

我有一个使用表单身份验证和承载令牌的 MVC5 和 Web API(两个不同的 IIS 应用程序)的工作应用程序。是的,它们必须是两个独立的 IIS 应用程序。我在我的表单身份验证 cookie 中使用身份验证令牌作为用户名,这就是我能够从 MVC 和 Web API 来回传递令牌的方式。

我也在使用 Asp.net Identity 2.0。

我想将表单身份验证排除在等式之外,只使用 Owin 身份验证,但是当我确实发布了承载令牌时,我的 MVC 应用程序中的 User.Identity.IsAuthenticate 总是错误的。

谁能指出我如何在没有表单身份验证的情况下记住 MVC 和 Web API 之间的身份验证令牌的代码?

【问题讨论】:

    标签: .net asp.net-web-api asp.net-mvc-5 owin bearer-token


    【解决方案1】:

    你在web..config上的所有machineyKey都要统一,不要使用任何在线工具生成machineKey,请使用power-shell生成。您可以阅读我的blog post here 了解更多信息。

    【讨论】:

      【解决方案2】:

      对于将共享身份验证的域,您的 webconfig 文件的所有 machineKey 必须相同。

      查看this answer如何设置。

      【讨论】: