There are two ways you can do it, using a Connection String or Application Settings
In your web or app configuration file you will need to specify the following settings:
For connection string:
<connectionStrings>
<add name="MyCRMServer" connectionString="AuthType=Office365;Username=jsmith@contoso.onmicrosoft.com; Password=passcode;Url=https://contoso.crm.dynamics.com"/>
</connectionStrings>
For application settings:
<appSettings>
<add key="Password" value="MhdhU1kduj/PbUIalN7RKA=="/>
<add key="UserName" value="webuser@domain.com"/>
<add key="InternalUrl" value="xxx.crm.dynamics.com"/>
<add key="OrgName" value="crmorgnamefromdeveloperresources"/>
</appSettings>
The following code will show you how to use both:
CrmServiceClient conn;
if (!string.IsNullOrEmpty(connectionString))
{
string connection = ConfigurationManager.ConnectionStrings["MyCRMServer"].ConnectionString;
conn = new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(connectionString);
}
else
{
string userName = ConfigurationManager.AppSettings["UserName"].ToString();
string CRM_PASSWORD = ConfigurationManager.AppSettings["Password"].ToString();
string internalUrl = ConfigurationManager.AppSettings["InternalUrl"].ToString();
string orgName = ConfigurationManager.AppSettings["OrgName"].ToString();
NetworkCredential creds = new NetworkCredential(userName, ConvertToSecureString(CRM_PASSWORD));
Microsoft.Xrm.Tooling.Connector.AuthenticationType authType = Microsoft.Xrm.Tooling.Connector.AuthenticationType.Office365;
conn = new Microsoft.Xrm.Tooling.Connector.CrmServiceClient(userName, ConvertToSecureString(CRM_PASSWORD), "NorthAmerica", orgName, isOffice365: true);
}
// The following is the ConvertToSecureString function:
private static System.Security.SecureString ConvertToSecureString(string password)
{
if (password == null)
throw new ArgumentNullException("missing pwd");
var securePassword = new System.Security.SecureString();
foreach (char c in password)
securePassword.AppendChar(c);
securePassword.MakeReadOnly();
return securePassword;
}