我有一个网络应用程序。我试图让它对 Win2012 R2 ADFS 服务器进行身份验证。
我设置了依赖方,被重定向,登录,然后作为失败的请求重定向回应用程序。
在事件日志中我有这个:
MSIS7070:SAML 请求包含已颁发令牌不满足的 NameIDPolicy。请求的 NameIDPolicy: AllowCreate: True 格式: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress SPNameQualifier: . 实际 NameID 属性:null。
如果我没看错的话,webapp 正在请求,urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
但没有为依赖方找到该策略。
在依赖方下,我有两个规则:
# get email address from active directory
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory",
types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"), query = ";mail;{0}", param = c.Value);
规则 2
transform email address to nameid/email
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"]
=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
Issuer = c.Issuer,
OriginalIssuer = c.OriginalIssuer,
Value = c.Value,
ValueType = c.ValueType,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"]
= "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress");
我已经仔细检查并确保格式匹配,但我卡在错误消息上。