2017-04-04 183 views
1

我需要將我的Web應用程序(多租戶SaaS產品)集成到我的用戶的Dynamics CRM中,以便它可以提取他們的數據。Microsoft Dynamics CRM OAuth集成

我已經瞭解到,Azure中的Active Directory應用程序可以照顧這樣的整合(OAuth的),但我想不出我的用戶如何授予他們的Dynamics CRM中的數據我的應用程序的訪問。

很顯然,我的每一個用戶應該創建一個Azure的AD應用程序(訪問其動態CRM賬戶),然後我的Azure的AD應用程序應該被授權代表他們AD應用程序的請求。

我不知道如何讓這個過程工作。

任何意見將不勝感激。

回答

1

對於動態CRM版本2016和365,數據可以經由Web API訪問。

當通過發送HTTP GET請求來使用Web API時,請求標頭必須以如下格式存在:{ 'Authorization': 'Bearer' + token }其中token是OAuth 2承載標記。

爲了獲得一個道理,我會用Azure AD authentication Library(ADAL)建議。

要通過ADAL與動態CRM認證,你就必須用動態CRM一起註冊在Azure中的Active Directory你的Web應用程序。註冊您的應用將爲您提供一個客戶端ID,這是OAuth 2.0授權流程所需的。 This post is very useful

+0

感謝戴夫的回答。對不起,我不得不提一提,我對OAuth的一般功能非常​​熟悉。問題是我的Azure Active Dir應用程序需要訪問多個用戶的動態crm數據。這是棘手的地方。當我嘗試將我的AD應用授權給我的消費者動態帳戶時,我不斷收到不同的錯誤。 – Genzo

0

如果您的應用程序將具有管理員權限,那麼將有機會獲得其他用戶的數據。有幾件事情,你應該確保配置的OAuth時,檢查: http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx

如此突出,從我的角度看,最重要的事情:

  • 你應該有一個特殊的用戶用於處理
  • 此用戶不應該分配任何許可證 - 因此您必須爲他簽署許可證,並在完成配置後簽名。
  • 用戶應具有自定義角色(可以從系統管理員複製角色)
+1

對不起,帕維爾的回覆晚了。感謝您的解釋和鏈接。它幫助我瞭解我的問題是什麼。我希望我能儘快在這裏發佈工作代碼。 – Genzo