我有一个.NET MVC&使用WsFederation
进行身份验证的WebAPI应用程序。当用户点击归属索引路由(它是内部Web应用程序)时,立即启动身份验证过程。这很好用。但是,索引页面本身并不是SPA,它只是解决方案中其他应用程序的一系列链接,因此每个链接都由其自己的MVC控制器表示,该控制器引导自己的SPA。
现在,我想让当前用户ClaimsIdentity
点击WebAPI端点,因此我希望能够将请求令牌与请求一起传递。我的问题是UseWsFederationAuthentication
中间件不会产生持票令牌,只会产生cookie。理想情况下,我想生成一个承载令牌并将其存储为声明,然后将令牌传递给来自MVC控制器的SPA。
有没有办法可以同时创建cookie和不记名令牌(分别用于MVC和API)?当用户从主视图中选择该特定应用程序时,我想从相应的MVC控制器将承载令牌传递给SPA。
道歉,如果之前已经涉及,但我发现的任何结果要么没有回答,要么有点不清楚。
答案 0 :(得分:0)
您提到在同一个解决方案中有多个应用程序 - 但它们是否在同一个网址/域中?
如果答案是是,那么除了SPA调用Web API并处理来自服务器/中间件的最终HTTP 302请求之外,您不需要执行任何操作。