1

在我们的组织内,我们的应用程序作为 RP 注册到我们的组织 ADFS 服务器,即 v2。传统上,组织中的应用程序是使用 WS-Federation(被动身份验证)构建为单一的单体应用程序。Web API 也托管在每个应用程序中,仅通过在浏览器中从应用程序的客户端代码进行 ajax 调用时通过网络发送相同的 FedAuth cookie 来确保安全。

我们正朝着构建一组后端 Web API 的方向发展,我们希望对其进行保护,以便任何客户端都可以调用它们,而不仅仅是 Web 浏览器,而不仅仅是托管应用程序本身。因此,我们希望将 JWT 令牌用于这些 Web API。我们还开始使用 ThinkTecture 的 IdentityServer (v2) 在这方面提供帮助。

我们只有几个问题,我希望社区可以帮助我们提供一些答案/建议:

  1. 我们应该如何配置 IdentityServer 和应用程序,以便应用程序使用现有的组织 ADFS 登录页面?
  2. 我们如何配置/集成 ThinkTecture IdentityServer v2 与组织 ADFS,以便我们的 API 可以使用 JWT 令牌得到保护,但又不强制用户再次提供他们的凭据(一旦他们通过 WS-Federation 获得 SAML 令牌)?
  3. IdentityServer v3 中是否有足够引人注目的功能可以从 IdentityServer v2 升级到 v3?
4

1 回答 1

0

1 & 2 - 您可能想了解如何建立信赖方。这是来自 BrockAllen(IdentityServer 背后的天才)的整篇文章,将引导您完成 ADFS/IdentityServer2 集成。

http://brockallen.com/2013/04/14/getting-json-web-tokens-jwts-from-adfs-via-thinktecture-identityservers-adfs-integration/

3 - 据我所知,IdentityServer3 (IS3) 是为了支持更新的授权框架 OpenID,用于现代堆栈,而不是 IS2(不支持 OpenID)。两者都可以使用。我个人是从 IS3 开始的,主要是因为所涉及的支持和文档。它还与 OWIN/Katana 很好地集成,因此它可以很好地自我托管,在实施和部署期间不会出现任何问题。IS2 相对于 IS3 的一个优势是 IS2 有一个管理 UI,您可以使用它来配置和注册站点,而 IS3 没有。可以在此处找到有关此内容的更多信息以及 IS3 背后的思考过程:

http://leastprivilege.com/2015/01/25/identityserver3-1-0-0/

于 2015-07-14T18:53:37.410 回答