适用于Web API的ADFS + ThinkTecture IdentityServer v2

时间:2015-06-02 17:54:05

标签: security asp.net-web-api adfs jwt thinktecture

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

我们正在构建一组后端Web API,我们希望这些API能够安全,以便任何客户端都可以调用它们,而不仅仅是Web浏览器,而不仅仅是托管应用程序本身。因此,我们希望将这些Web API用于JWT令牌。我们也开始使用ThinkTecture的IdentityServer(v2)来帮助解决这个问题。

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

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

1 个答案:

答案 0 :(得分: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/