3

認証用に別の方法を作成しました (オンライン用とオンプレミス用)。現在、使用する方法をユーザーに選択させています (そして、組織サービスの URL と資格情報を提供しています)。

プロセスを自動化したいのですが、認証の種類に関する情報を検出サービスに含める必要があることに気付きました。それもそうです。次のコードを使用して取得できます。

DiscoveryServiceProxy discovery = new DiscoveryServiceProxy(
  logOnInformation.Organization,
  logOnInformation.HomeRealm,
  logOnInformation.ClientCredentials,
  logOnInformation.DeviceCredentials);

Console.Write(discovery.ServiceManagement.AuthenticationType`);

ここでの問題は、ディスカバリー サービス プロキシを作成するために、デバイスの資格情報を指定する必要があることです。これは、特定しようとしているタイプの認証手順を使用して取得されます。キャッチ22だ…

検出サービスまたは組織サービスの URL のみに基づいて認証タイプを決定するにはどうすればよいですか?

4

1 に答える 1

3

ここに小さなサンプルを置いておきます。LiveIDActiveDirectoryのテスト済み。

IServiceManagement<IOrganizationService> organizationServiceManagement 
  = ServiceConfigurationFactory.CreateManagement<IOrganizationService>(
    new Uri("http ... Organization.svc"));
AuthenticationProviderType authenticationProvierType 
  = organizationServiceManagement.AuthenticationType;

Console.WriteLine(authenticationProvierType);
Console.ReadKey();
于 2013-03-01T19:11:42.403 に答える