【问题标题】:Securing MVC & WebAPI controllers with WsFederation使用 Ws Federation 保护 MVC 和 WebAPI 控制器
【发布时间】:2018-01-02 14:55:05
【问题描述】:

我有一个使用WsFederation 进行身份验证的 .NET MVC 和 WebAPI 应用程序。当用户点击主页索引路由(它是一个内部网络应用程序)时,身份验证过程会立即启动。这工作正常。然而,索引页面本身并不是一个 SPA,它只是一系列指向解决方案中其他应用程序的链接,因此每个链接都由其自己的 MVC 控制器表示,该控制器引导自己的 SPA。

现在,我想获取当前用户访问 WebAPI 端点的ClaimsIdentity,因此我希望能够随请求一起传递不记名令牌。我的问题是 UseWsFederationAuthentication 中间件不产生不记名令牌,只产生一个 cookie。理想情况下,我想生成一个不记名令牌并将其存储为声明,然后将令牌从 MVC 控制器传递给 SPA。

有没有一种方法可以同时创建 cookie 和不记名令牌(分别用于 MVC 和 API)?当用户从主视图中选择特定应用程序时,我想将持有者令牌从相应的 MVC 控制器传递给 SPA。

抱歉,如果之前已经讨论过这个问题,但我发现的任何结果要么没有得到回答,要么有点不清楚。

【问题讨论】:

    标签: .net asp.net-mvc asp.net-web-api azure-active-directory ws-federation


    【解决方案1】:

    您提到您在同一个解决方案中有多个应用程序 - 但它们是否在同一个 URL/域中?

    如果答案是,那么除了调用 Web API 并处理来自服务器/中间件的最终 HTTP 302 请求之外,您无需执行任何操作。

    【讨论】:

      猜你喜欢
      • 2016-05-08
      • 1970-01-01
      • 2012-12-12
      • 1970-01-01
      • 2017-01-17
      • 2016-01-20
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      相关资源
      最近更新 更多