Hello shaheerzep,
so we have two different topics here. (Be aware that DNS and Network configurations are mandatory changes / settings you will require to make the environment reachable)
Topic a) Authentication / Authorization:
You need to answer the question if the customer wants to use Windows Authentication or Form-Based (Username & Password)
Should the authentication handled by the Domain Controller or ADFS?
If we assume that there are Users in Domain B and they want to access CRM in Domain A where the enviroment is hosted in different places the authentication must be handled.
Important: Publishing Dynamics CRM outside the own Domain / Network is only supported / suggested by using Internet Facing Deployment with ADFS!
- Option WIA (Windows Authentication) you will require a Domain Trust between Environment A (CRM) and Environment B (Users).
To reach CRM via Windows Authentication you need to configure the DNS properly by using for example a conditional forwarder and the DNS must be reachable. If there is the WAN between (internet) external DNS entries are required for this.
- Option Form-Based (IFD) *suggested*
This is the suggested way to "publish" Dynamics CRM to external (non-Domain A Users).
The Users from Enviroment B will access the CRM via the external URLs and will login via Username and Password.
The Users in Environment A can use the Claim Based URL (Internal via Windows Authentication) or local DNS entries to resolve the IFD URLs via Form-Based login
You could federate 2 ADFS Servers via claims provider trust (WS-FED) so users from B could do a SSO on Enviroment A. (as Form-Based is used anyways there is no need for this step, the benefit here would be Active Directory based authentication as the federation connects the environments and Users will "talk" to their own ADFS)
Topic b) User creation:
Besides of the Authentication Dynamics CRM must be connected to the Active Directory.
Domain A Users can be easily created as CRM runs in the same Domain.
Domain B Users can be only created when a one-way trust at least is created.
Our user creation process queries Active Directory values and we must be able to reach the foreign domain.
(Keep in mind if Domain B users should receive Deployment Administrator rights a two-way trust is required.)
This suggestion is based on the CRM software requirements and best practices.
So in short the architecture:
CRM (Domain A) <-> ADFS Domain A || DMZ (maybe WAP or Proxy) || Internet / WAN with DNS entries authcrm.domain.com, discovery.domain.com, adfs.domain.com, crmorg.domain.com || DMZ || <- Users Domain B
Hope this helps.