.NET Core 2中的ADFS 3.0联合身份验证

时间:2018-02-28 06:47:18

标签: asp.net-core identityserver4 saml itfoxtec-identity-saml2

我需要一个在ASP.NET Core 2 Web Api应用程序中使用ADFS 3.0标识的解决方案。我组织的Windows企业支持团队告诉我,他们只熟悉ADFS中基于SAML或WS-Fed的依赖方,并且不想让我帮助他们配置OAuth,我可以在应用程序中直接使用它。据我所知,SAML和WS-Fed都不兼容目前针对netcore或netstandard的任何目标。

我一直在关注Identity Server 4,它就是所谓的“联合网关”功能,但我找不到很多文档。这可能对我的用例有用吗?我猜它只是通过OAuth或OpenID设置接口,但我可能错了。

我还考虑过使用Amazon Cognito作为中间人来发布基于SAML响应的JWT,但是在得到使用此配置的概念验证之后,我意识到0.45美元/ MAU的成本非常高,该应用程序将有大约10-15k的普通用户。

如果Identity Server不是解决方案,是否有任何其他类似的“联合网关”类型解决方案可用作优选的开源/免费软件?即使解决方案不是基于.NET的,我也有兴趣看一下它。我很想用Java或Ruby构建这样的东西作为最后的手段。

3 个答案:

答案 0 :(得分:0)

从版本2.0开始,IDS4可以成为WS-Fed依赖方。这将允许它充当ADFS和OIDC / OAuth RP之间的中间人。

来自IDS4人员的这个视频涵盖了可用的选项:https://vimeo.com/254635632

值得注意的是,您可以在2008R2或更高版本的域中运行ADFS 2016服务器并且原生支持OpenID Connect,但考虑到您对内部“支持”团队所说的内容,部署IDS4可能是更好的选择,尽管可能更多的工作。

答案 1 :(得分:0)

为了完整起见,WS-Fed的问题是.NET Core中的cyptographic支持。现在已经解决了这个问题,因此支持WS-Fed。

SAML支持可通过SustainsysRock Solid Knowledge获得。

答案 2 :(得分:0)

您可以使用ITfoxtec Identity Saml2包在ASP.NET Core 2.1中实现AD FS 3.0与SAML 2.0联合。 NuGet软件包:https://www.nuget.org/packages/ITfoxtec.Identity.Saml2.MvcCore/

项目https://itfoxtec.com/IdentitySaml2和代码示例https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/tree/master/test