我已经在 ADFS 中配置了 Claims Provider Trust 并且我只Email
进入NameID
. 我无法更改第三方声明提供商信任,因此我必须WindowsAccountName
使用我从第三方 IDP 以 NameID 收到的电子邮件地址,并将其转发到 Outlook Web Access(本地)。
我发现当我使用以下声明规则时,登录有效,但前提是用户的 UPN 和电子邮件地址匹配。如果它们之间存在差异(例如 sAMAccountName=jdoe;[email protected];[email protected] ),转发到 Exchange 的值会导致引发错误。
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] == "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"]
=> issue(Type = "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer = "AD AUTHORITY", OriginalIssuer = c.OriginalIssuer, Value = regexreplace(c.Value, "(?<user>[^\@]+)\@(.+)", "contoso\${user}"), ValueType = c.ValueType);
我如何通过他们的电子邮件地址查找用户,并返回他们WindowsAccountName
的domain\username
格式?