我正在開發一個應用程序,我需要與後臺作業中的某些Dynamics CRM API保持通信(每隔幾分鐘上傳更新的內容)。具有客戶端聲明證書(Azure AD)的Dynamics CRM守護進程應用程序給出401
由於使用用戶證書(應用程序權限)進行ADAL身份驗證與CRM API完美配合使用,我的印象是,我也會得到它與客戶端斷言證書憑證一起工作。
代碼看起來是這樣的 -
var certCred = new ClientAssertionCertificate(clientId, cert);
var result = await authContext.AcquireTokenAsync("https://<tenant_name>.crm4.dynamics.com/", certCred);
這工作,我能夠獲得訪問令牌。但是,由於這些是委託權限,我無法執行獲得授權訪問CRM WebAPI的權限。
我明顯可以使用服務/守護進程帳戶來執行後臺任務,但我希望在客戶端斷言證書方式中做更多。有沒有人找到像這樣的場景的解決方案? CRM WebAPI是否支持委託權限?
有沒有其他方法可以做到這一點?
正確,那麼創建守護程序服務的理想方式是什麼? –
要在守護程序服務中使用Dynamics CRM Web API,我們可以使用密碼流進行身份驗證。更詳細的你可以參考[這裏](https://msdn.microsoft.com/en-us/library/hh675404.aspx) –
對於Deamon服務也許我的問題的答案可以幫助你:http://stackoverflow.com /問題/ 37454539 /使用阿達爾-C鋒利的機密用戶守護 - 服務器 - 服務器到服務器-401-U – IntegerWolf