Active directory MSAL错误-目标主体名称与联合IWA不正确

Active directory MSAL错误-目标主体名称与联合IWA不正确,active-directory,azure-active-directory,adfs,msal,Active Directory,Azure Active Directory,Adfs,Msal,我有一个AAD/AD联合租户设置。显然,Azure中的AAD,本地广告是用虚拟机设置的实验室。我已经经历了AADConnect设置的一些排列,但我总是以同样的错误结束。查找它,它似乎通常与SQLServer关联,但我认为这不适用于这里。我只是尝试使用IWA对此AAD联邦应用程序进行身份验证,但无法逃避此异常 本地广告 域名:vandelay.local 添加、ADFS、DNS:WIN-H9QGD6BJ2IN.vandelay.local ADFS DNS:ADFS.ad.vandelay.loc

我有一个AAD/AD联合租户设置。显然,Azure中的AAD,本地广告是用虚拟机设置的实验室。我已经经历了AADConnect设置的一些排列,但我总是以同样的错误结束。查找它,它似乎通常与SQLServer关联,但我认为这不适用于这里。我只是尝试使用IWA对此AAD联邦应用程序进行身份验证,但无法逃避此异常

本地广告

域名:vandelay.local

添加、ADFS、DNS:WIN-H9QGD6BJ2IN.vandelay.local

ADFS DNS:ADFS.ad.vandelay.local

备用UPN:vandelay.firstresponse911.net

AAD连接设置与联盟和密码哈希同步

AAD

AADConnect安装程序似乎很满意(请参见屏幕截图) 添加了全局授予的应用程序管理员许可的应用程序(不需要用户交互来授予权限) 与AADConnect同步的用户将以应用程序权限出现在门户中

代码

//以steve的身份登录机器。doe@vandelay.firstresponse911.net
静态void Main(字符串[]参数)
{   
app=PublicClientApplicationBuilder.Create(客户端ID)
.WithAuthority(AzureCloudInstance.AzurePublic,租户ID,false)
.Build();
while(true)
{                                
var result=\u retry.Execute((ctx)=>GetToken2().GetAwaiter().GetResult(),新上下文(“acquireToken”),新字典(){{{“userId”,“paul”。seabury@vandelay.local“},{password”,“AGF11nfn”}});
WriteLine($“IdTok:{ComputeSha256Hash(result.IdToken)},Exp:{result.ExpiresOn}”);
线程睡眠(1000*60*2);
}
}

私有静态任务

看起来您正在DNS中使用CNAME解析adfs场名称-->您应该使用主机a记录 Kerberos客户端将首先将web服务的名称解析为A记录,然后再请求Kerberos服务票证

这可以解释您看到的kerberos错误


“Kerberos客户端收到来自服务器fsgma$的KRB_AP_ERR_MODIFIED错误。使用的目标名称是HTTP/win-h9qgd6bj2in.vandelay.local。”

看起来您正在DNS中使用CNAME解析adfs场名称-->您应该使用主机a记录 Kerberos客户端将首先将web服务的名称解析为A记录,然后再请求Kerberos服务票证

这可以解释您看到的kerberos错误


“Kerberos客户端收到来自服务器fsgma$的KRB_AP_ERR_MODIFIED错误。使用的目标名称是HTTP/win-h9qgd6bj2in.vandelay.local。”

完美,这就是问题所在。万分感谢!太好了,这就是问题所在。万分感谢!
Microsoft.Identity.Client.MsalClientException: 'The target principal name is incorrect.'