我使用发行政策作为:
规则1:
规则 2(自定义):
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"]
=> 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:2.0:nameid-format:transient",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "https://fs.hhres.com/adfs/services/trust",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "sp_test");
当我尝试登录时,它给出了错误(来自事件查看器)-
SAML 身份验证请求具有无法满足的 NameID 策略。
请求者:BambooHR-SAML
名称标识符格式:urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress SPNameQualifier:
异常详细信息:MSIS7070:SAML 请求包含已颁发令牌不满足的 NameIDPolicy。请求的 NameIDPolicy:AllowCreate:True 格式:urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress SPNameQualifier:。实际 NameID 属性:格式:urn:oasis:names:tc:SAML:2.0:nameid-format:transient,NameQualifier: https://adfs_url/adfs/services/trustSPNameQualifier: sp_test,SPProvidedId: 。
此请求失败。
用户操作使用 AD FS 管理单元配置发出所需名称标识符的配置。
有人能解释一下我做错了什么以及需要做什么吗?
答案1
我通过改变线路解决了这个问题-
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
进入
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
答案2
它需要 emailAddress 的 NameID 格式,并且您提供的是临时的格式之一。
最简单的方法是通过转换规则。
将电子邮件转换为 NameID,并从下拉菜单中选择电子邮件格式。