是否可以使用来自 ADFS 服务器的自定义 c# 模块将声明注入 SAML 令牌?

Is it possible to inject claims into a SAML token using a custom c# module from an ADFS server?

我有一个 asp.net Web 应用程序使用 ADFS 来验证用户。 ADFS 服务器配置为在确定用户是 AD 域的有效成员后向 Web 应用发出声明。

我想做的是在发出基本声明后调用的 ADFS 服务器上部署一个模块。然后,该模块将查询备用数据库(比如 SQL),根据已经发出的声明检索有关用户的一些信息,并将该信息作为一个或多个 claims/assertions 注入 SAML 令牌发送回网络服务器。

我已经尝试在 ADFS 服务器上实现自定义身份验证适配器,但它是针对 MFA 的,并且只会 return 一个额外的声明,断言使用了某种形式的 MFA。

绝对。

您需要自定义属性存储。这将运行 SQL,然后您添加从自定义商店派生的声明规则。

参考:AD FS 2.0 Attribute Store Overview and How to create a Custom Attribute Store for Active Directory Federation Services 3.0.