我有一个客户端使用kerberos身份验证(无法更改)的情况,因此我的WCF Web服务只能访问WindowsIdentity对象(System.Security.Prinicpal.WindowsIdentity)。 WindowsIdentity对象并没有告诉我很多关于用户的信息(基本上只是登录名)。我需要的是关于用户的具体声明(例如电子邮件等),以便我可以将AD用户映射到我的系统用户之一。
我已经与ADFS和我的服务器建立了信赖关系,使用用户名和密码,我能够检索SAML令牌并提取我想要的声明(即UserNameWSTrustBinding)。
话虽如此,似乎我手头有一个WindowsIdentity对象(最终由ADFS系统提供),我应该可以让ADFS向我发出一个SAML令牌。也就是说,而不是指定我提供WindowsIdentity的用户名/密码。
如果有人能指出我如何实现这一目标的正确方向,我将不胜感激。
非常感谢!
编辑: 我找到了以下Microsoft文档,其中显示了将kerberos票证转换为SAML令牌。所以我知道它可能,我还没有弄清楚如何实现它。