我正在尝试使用客户端证书身份验证为SharePoint应用程序实施客户端身份验证。
为用户提供的证书是由外部证书颁发机构颁发的,我们通过名称映射CN的证书值将证书映射到Active Firectory中的用户。但是,证书的CN与Active Directory中的UPN不匹配,并且我无法控制CN的创建方式(外部CA)。
当用户尝试通过客户端证书登录时(我们启用带有证书的外部身份验证+将所有根CA添加到Trusted存储中,以便可以信任客户端证书),提示用户选择证书,然后他们收到以下错误:
联合身份验证服务在处理WS-Trust请求时遇到错误。
请求类型:schemas.microsoft.com/idfx/requesttype/issue
其他数据 例外详情:
System.ComponentModel.Win32Exception(0x80004005):Microsoft.IdentityModel.Claims.WindowsClaimsIdentity.CertificateLogon(X509Certificate2)上的Microsoft.IdentityModel.Tokens.X509SecurityTokenHandler.KerberosCertificateLogon(X509Certificate2证书)处,用户名或密码不正确。 IdentityModel.Claims.WindowsClaimsIdentity.CreateFromCertificate(X509Certificate2证书,布尔值useWindowsTokenService,字符串issuerName)在Microsoft.IdentityModel.Tokens.X509SecurityTokenHandler.ValidateToken(SecurityToken令牌)在Microsoft.IdentityServer.Service.Tokens.MSISX509SecurityTokenHandler.ValidateServer(Security .Web.WSTrust.SecurityTokenServiceManager.GetEffectivePrincipal(SecurityTokenElement securityTokenElement,SecurityTokenHandlerCollection securityTokenHandlerCollection)在Microsoft.IdentityServer.Web.WSTrust.SecurityTokenServiceManager.Issue(RequestSecurityToken请求,IList 1& identityClaimSet, List
1) dditionalClaims)
答案 0 :(得分:1)
确保备用ID匹配是通过证书的指纹完成的。
根据您的错误消息,一些可能的情况是:
在子域中手动创建用户,然后查看该用户是否可以登录。如果不能,请禁用对对象的继承,并为服务帐户分配“读取所有属性”权限-删除用户的所有“拒绝”权限。