我已经创建了单独的身份验证方法(一种用于在线,一种用于内部部署)。现在,我让用户选择使用哪种方法(然后提供组织服务的URL和凭证)。
我想自动化这个过程,它让我觉得有关身份验证类型的信息应该在发现服务中。它也是如此。我可以使用以下代码获取它。
DiscoveryServiceProxy discovery = new DiscoveryServiceProxy(
logOnInformation.Organization,
logOnInformation.HomeRealm,
logOnInformation.ClientCredentials,
logOnInformation.DeviceCredentials);
Console.Write(discovery.ServiceManagement.AuthenticationType`);
我的问题是,为了创建发现服务代理,我需要指定设备凭据,这是使用我正在尝试确定的类型的身份验证过程获得的。它抓到了22 ......
如何仅根据发现或组织服务的URL确定身份验证类型?
答案 0 :(得分:3)
我在这里放了一个小样本。测试 LiveID 和 ActiveDirectory 。
IServiceManagement<IOrganizationService> organizationServiceManagement
= ServiceConfigurationFactory.CreateManagement<IOrganizationService>(
new Uri("http ... Organization.svc"));
AuthenticationProviderType authenticationProvierType
= organizationServiceManagement.AuthenticationType;
Console.WriteLine(authenticationProvierType);
Console.ReadKey();