ダイナミクス2016 CRM OData Web APIにコンソールアプリケーションからアクセスするのに苦労しています。ダイナミックCRM 2016 Web APIにアクセスするとき
我々はDynamics CRMの2016、インストールクレームベース認証で構成され、AD FSのバージョン3.0を使用しています。
コンソールアプリケーション(またはWebアプリケーション)は、Windows統合認証(NTMLまたはKerberosなど)を使用して特別な処理を行わずにWeb APIにアクセスできるようにする必要があります。 。 Dynamicsの「ページ」をアクセスして、通常のユーザーのために
、認証が正常に動作します(ページのAD FSログへのリダイレクト)が、ODataのAPIにアクセスする(例えば:https://crm.domain.org/api/discovery/v8.0/を):動作していないよう
- ブラウザで私はWindowsのログインプロンプトが表示され、有効な資格情報を入力すると、HTTP 401の不正なエラーが発生する
- ブラウザーで、のページにログオンした後にWeb API URL に移動すると、 Web APIにアクセスする(つまり、いくつかのクッキーを設定する必要があり、暗黙のうちに許可されている) 0コードから
- 、特定の有効な認証情報(または現在の資格情報)とのHttpClientを使用して、私はまた、私が試みた401件の
観光得る:
- Iが完全クレームベース認証を無効場合はクレームベースの認証を有効にしておくと、HttpClientは正常に動作し、OData APIにアクセスできます。
OAuthをPowerShell
Add-PSSnapin Microsoft.Crm.PowerShell ; $ClaimsSettings = Get-CrmSetting -SettingType OAuthClaimsSettings; $ClaimsSettings.Enabled = $true ; Set-CrmSetting -Setting $ClaimsSettings ;
でアクティブにすると、Windows統合認証はまだ動作しませんが、ベアラ認証を使用できるようになりました。私は、トークン生成のためのOAuthエンドポイントを取得し、トークンを発行する
AuthenticationContext.AcquireTokenAsync
を使用して、Authorization
HTTPヘッダにそれを渡すためにthis snippetを使用することができます...が、その後、どんな、私はこのエラーを取得していない:Bearer error=invalid_token, error_description =Error during token validation!, authorization_uri=https://our.adfs.domain.org/adfs/oauth2/authorize, resource_id=https://crm.domain.org/
私に何かが不足していますか?おそらく設定上の問題でしょうか?
ダイナミクスCRMコミュニティフォーラムに質問を投稿しました。ちょうどhttps://community.dynamics.com/crm/f/117/t/201151 – tsimbalar
でこれを解決できましたか? –
ちょうどそのパスをあきらめて、 "推奨される" Web APIの代わりに "陳腐化する途中で" Dynamics SDKを使用してしまいました... – tsimbalar