错误 C# Dynamics CRM:在配置的安全令牌服务上找不到身份验证端点用户名

Error C# Dynamics CRM: The authentication endpoint Username was not found on the configured Secure Token Service

我们在尝试在服务器中部署 WCF 网络服务时遇到错误。连接到 Dynamics(本地 CRM)时,我们收到此错误:在配置的安全令牌服务上找不到身份验证端点用户名

如果我们在本地测试它,它可以工作,但如果在服务器中部署 web 服务,这是执行登录的代码:

 Uri serviceUri = new Uri(OrgServiceUri);
                proxy = new OrganizationServiceProxy(serviceUri, null, authCredentials, null);
                proxy.EnableProxyTypes();
                _service = (IOrganizationService)proxy;
                Guid userid = ((WhoAmIResponse)_service.Execute(new WhoAmIRequest())).UserId;
                if (userid != Guid.Empty)
                {
                    Console.WriteLine(userid);
                    return true;
                }
                else
                {
                    return false;
                }

有猜想吗?

谢谢!!

首先,确保您设置为服务帐户的用户具有 Read/Write CRM 访问权限,并且分配了安全角色以使其能够远程登录 CRM。

接下来,确保在此 CRM 组织正在使用的 ADFS 部署中配置了用户名端点:

登录到ADFS 服务器并打开ADFS 管理控制台。转到 ADFS > 服务 > 端点 您将在此处看到端点 URL 列表。找到类型为 WS-Trust 1.3 的 /adfs/services/trust/13/username 确保此端点的启用和代理启用设置都设置为“是”。 如果必须更改此端点,请在更改后重新启动 ADFS 服务器和 CRM 服务器,然后尝试重新注册。

最后,如果以上看起来没问题,则可能是分辨率或路由问题导致连接受阻。确保 ADFS 服务器的路径有外部 DNS 条目。此外,请确保您的防火墙允许从外部访问 ADFS 服务器。如果可以,请尝试使用域外的计算机直接导航到 ADFS 服务器以测试其可访问性。

这是一个和你一样错误的问题,已经解决,可以参考:The authentication endpoint Username was not found on the configured Secure Token Service

最后我们发现这是 ADFS 服务本身的问题,与网络相关,因为它无法连接 SSO 站点。修复后,它开始发挥魅力。