One of the Big challenges while integrating Microsoft Dynamics CRM with non.Net / Microsoft technology is around authentication. While there are some articles explaining ways to do it, it can become quite challenging to implement.
MSCRM Dynamics has three versions
- Online: Authentication is through Live
- On-Premise: Authentication is through Active – Directory
- Hosted (3rd Party): Authentication is through IFD / Claims based.
Connecting with Live is much simpler and there are samples available by Microsoft on how best to connect with non-microosft technologies. When it comes to Active-Directory and IFD, there are little information/guidelines available.
Here are some high-level steps
- Create a.Net Proxy Server to route calls to MSCRM Dynamics On-premise or Hosted
- Override the Authentication so that a Basic Auth or OAuth gets translated to Active-Directory or IFD
- Route corresponding Calls to the underlying MSCRM SOAP calls (OrganizationService or DiscoveryService)
- Maintain a session on Proxy Server so that calls get routed properly to the right SOAP Service on MSCRM.
This approach worked well. You can find a WebProxy to MSCRM Dynamics On-premise / Hosted through our DBSync ETL tool, which provides features for reading, writing and exploring meta-data on MSCRM On-premise / Hosted. It does support all three versions of authentications.