“无法生成NameID值”错误的最可能原因是您尝试使用非持久性&创建断言。非瞬态NameID格式。在这些情况下,OpenAM不知道NameID元素使用什么值,因此您需要在托管IdP的配置页面上设置NameID Value Map。
使用NameID值映射,您可以将用户条目中的给定属性值分配给< NameID>元素到实际的NameID-Format。
例如,使用以下映射:
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified=uid
每当有一个传入的AuthnRequest请求未指定的NameID-Format时,返回的Assertion将包含一个与此类似的NameID值:
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">demo</saml:NameID>
“demo”是登录用户的uid属性的值。