我在ADFS 3.0中使用基于证书的身份validation,并且需要从作为声明发布的客户端证书中获取主题字段,但是它不作为ADFS的传入声明。
当我启用审计时,我可以看到它存在于调用者身份中,如以下声明types所示: http : //schemas.microsoft.com/2012/12/certificatecontext/field/subject
但是,它不会以签发的身份签发,因此不能作为在索赔规则中使用的传入索赔。
有没有人做过这个? 你可以调整来自客户端证书的传入声明吗?
我通过调整ADFSconfiguration数据库中的[AdfsConfiguration]。[IdentityServerPolicy]。[Policies]表来解决这个问题。 有一个覆盖入境索赔的logging。 在我的数据库上,它的ID是'88EDF726-83FA-E511-80C5-000D3AB14473',虽然我不知道它们是不变的值还是因部署而异。 你可以告诉它是哪一个,因为它很长,并且有certEku声明。
我修改它包括以下规则:
@RuleTemplate = "PassThroughClaims" @RuleName = "Pass through certificate Subject claim" c:[Type == "http://schemas.microsoft.com/2012/12/certificatecontext/field/subject", Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"] => issue(claim = c);