ADFS認証を使用するIFDとして動作するDynamics 2016のAzureでホストされた「オンプレミス」インスタンスがあります。現在、AzureでホストされているAzure APIを使用して、CRM Web APIを使用してDynamicsインスタンスと通信する必要があります。これを実現するには、Microsoft.IdentityModel.Clients.ActiveDirectoryライブラリを利用して、https://msdn.microsoft.com/en-gb/library/gg327838.aspxのようにADALを使用してOAuth認証を使用して認証する必要があります。私たちは、しかし、インタラクティブフローの状況で使用するためのものであるとすぐAcquireTokenAsync方法は、ログインダイアログと呼ばれているとして、(表示方法として理にかなって、ADFSCRM Web Api ADFS OAuth
var resource = "https://reosurce.com/";
var clientId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
var authProvider = "https://adfs.server.com/adfs/oauth2/token";
var redirectUri = "https://crm2Environment.com/";
var authContext = new AuthenticationContext(authProvider, false);
var authToken = authContext.AcquireTokenAsync(resource, clientId, new
Uri(redirectUri), new PlatformParameters(PromptBehavior.Always)).
Result.AccessToken;
のコード例が正常に実行さからトークンを取得するために、次のコードを持っていますそうでなければ、ADFSは認証するかどうかを知っていますが、これは明らかにドメインに依存しないAPIでは機能しませんし、ADFSに資格を渡す方法もありません。 AcquireTokenAsyncメソッドの代替オーバーロードは、概説されている状況ではADFSに適用されるものではありません。何か不足していますか?ドメインアカウント認証を使用せずに、非インタラクティブなフローでトークンを取得する別の方法はありますか? Azure ADで使用できる例は、ADFSシナリオでは動作していないように見えることに注意してください。現在のADSFサーバーは、インフラストラクチャチームによって管理されているため、現在のADSFサーバーを所有していないか、アクセスできません。 ADFSを変更することが可能です)
Azure to Azureサービスは、CRMが敷地内にあり、IFDからADFS – cirrus42