创建 WCF 休息服务以接受 SAML 并对 Windows 用户进行身份验证

Creating an WCF rest service to accept SAML and authenticate Windows users

我必须创建一个 WCF 服务来接收带有 SAML 断言的请求。在内部,它需要获取 Windows 用户(调用方用户),然后模拟对应用程序的下一次调用。本应用仅支持AD用户。

我试图获得解决方案,但在大多数情况下,我使用 Azure 服务总线和 ACS 获得了解决方案,但就我而言,我没有。我的 SAML 直接传递给 WCF 服务(通过互联网公开),这需要验证令牌,获取 windows 用户,然后使用该用户的模拟继续下一步。

我的 ADFS 设置了一个中继方(我在云端的中间件已经在使用它来对用户进行身份验证)。

我的问题是:

  1. 我是否需要与 ADFS 和 WCF 服务建立信任关系?有没有 那个的链接?
  2. SAML加密全部加密。要在 y WCF 解密此文件,我是否需要在 ADFS 设置期间使用的相同证书?
  3. 我可以使用我的中间件在我的 WCF 服务和 ADFS 之间建立信任时使用的同一个中继方吗?

任何提供解决方案的链接都会有所帮助。

流程图如图:

您不能将 WCF 用于 Azure(除非您所说的 Azure 是指 Azure 中的虚拟机)。全是网页 API.

WCF 直接进入 ADFS。这是 WS-Fed 活动配置文件,例如this.

如果 SAML 令牌在 ADFS 中加密,则意味着 RP 拥有私钥。 ADFS(在 RP 加密选项卡中)只有 public 密钥。

是的,为此您需要一个单独的 ADFS RP。