Thinktecture IdentityServer v3 和 SAML

Posted

技术标签:

【中文标题】Thinktecture IdentityServer v3 和 SAML【英文标题】:Thinktecture IdentityServer v3 and SAML 【发布时间】:2015-05-02 04:26:32 【问题描述】:

Thinktecture IdentityServer V3 支持 SAML 还是只支持 OAuth?

【问题讨论】:

【参考方案1】:

Owin middleware to support the SAML protocol 可以与 IdentityServer v3 一起使用。它还不支持所有流,但它正在几个实现中使用。完全披露 - 我是这段代码的作者,该代码是从之前的 SAML2 library on CodePlex 分叉出来的。

【讨论】:

【参考方案2】:

不!没有 SAML。

leastPrivilege.com

在 Dominick 的文章中说...“在 WS*/SAML 世界中花费了大量时间后,越来越明显的是,这些技术与我们 (和我们的客户)喜欢建造。”

他们专注于 OpenID Connect 和 OAuth2。

【讨论】:

没有投反对票,因为这在两年前可能是准确的。到目前为止,有一个名为 IdentityServer3.WsFederation 的 nuget 包可以启用此功能。这是一篇可以帮助您入门的文章:scottbrady91.com/Identity-Server/…【参考方案3】:

OpenID Connect、OAuth2、WS-Fed。

@DavidEdwards - 否 - IdentityServer2 不支持 SAML OOTB。

我通常通过以下方式解决这个问题:

IdentityServer --> WS-Fed --> ADFS --> SAML --> IDP

【讨论】:

在 github 页面 (github.com/IdentityServer/Thinktecture.IdentityServer2) 上的 readme.md 文件中显示“支持多种协议(WS-Trust、WS-Federation、OAuth2、HTTP GET)多种令牌支持(SAML 1.1/ 2.0, JWT)”我是不是误会了什么? saml 是一个令牌类型(断言)和一个协议。该协议不受支持。 感谢多米尼克的澄清! @leastprivilege ,2年后还是这样吗?我已经将 IdentityServer V3 实现为我的身份提供者,但我有一些使用 saml 令牌的旧客户端。我想接受他们的 Saml 令牌,以便他们可以在我的应用程序中获得无缝的单点登录体验。上面提到的库是可行/推荐的选择吗? @RayLoveless 你能查出 IdentityServer 3 是否支持 SAML。它说Support for external social identity providers like Google, Facebook etc, as well as integration for enterprise identity management systems via SAML and WS-Federation.identityserver.github.io/Documentation/docsv2/overview/…【参考方案4】:

IdentityServer v3 支持任何兼容 Katana 的 Owin 中间件进行身份验证。使用适用于 SAML2 的兼容中间件(例如 Kentor.AuthServices IdentityServer 3),可以使用 Idsrv 作为 SAML2 服务提供者对外部 SAML2 身份提供者进行身份验证。我写了一个blog post 来告诉你怎么做。

还有一个插件接口允许 IdentityServer v3 充当 SAML2 身份提供者,但据我所知没有可用的实现。

【讨论】:

已经快2年了。将 SAML 2 与 Identityserver3 结合使用的新工具是否有任何进展?我喜欢 Kentor.AuthServices,但想知道是否还有其他此类工具。

以上是关于Thinktecture IdentityServer v3 和 SAML的主要内容,如果未能解决你的问题,请参考以下文章

在 web api 中验证 Thinktecture OAuth 令牌

如何在 Thinktecture Identity Server 中加密 JWT 令牌?

Thinktecture 身份服务器与授权服务器

Thinktecture IdentityServer v3 和 SAML

Thinktecture IdentityServer v3 指南 - 证书

.NET开源OpenID和OAuth解决方案Thinktecture IdentityServer