我目前有一个使用 Microsoft.Owin.Security.WSFederation 程序包的MVC应用程序,可以使用Azure的Active Directory进行身份验证。这使我可以使用控制器上的 Authorize 属性将用户重定向到Microsoft登录站点。
我现在要求添加对将在其他域上托管但将使用相同AD存储的WebAPI项目的访问权限。
我已设法使用Azure提供的ADAL JS library汇集了一些内容,但这会产生以下过程:
所以它有效,但涉及4个重定向,这似乎是一个巨大的开销。
我认为可能有某种方法可以从WSFederation成功时返回的授权凭证中提取持有者令牌,但我无法在数据中看到类似内容。而且,即使我可以,我也不知道如何能够从客户端脚本中刷新令牌。所以我强烈怀疑我做了一些根本错误的事情。
在两个站点之间共享身份验证的最佳流程是什么?