2017-10-02 9 views
0

Comme je l'ai déclaré dans le titre, j'ai un problème avec SecurityTokenRespone.SecurityTokenRespone est null

IServiceManagement<IOrganizationService> serviceManagement = ServiceConfigurationFactory.CreateManagement<IOrganizationService>(new Uri("https://SERVICE_URI")); 
AuthenticationCredentials authCreds = new AuthenticationCredentials(); 
authCreds.ClientCredentials.UserName.UserName = userName; 
authCreds.ClientCredentials.UserName.Password = password; 
AuthenticationCredentials tokenCreds = serviceManagement.Authenticate(authCreds); 
SecurityTokenResponse securityToken = tokenCredentials.SecurityTokenResponse; 

Quand je fais appel à la production CRM je reçois SecurityTokenRespone mais quand je fais appel à notre test CRM SecurityTokenRespone est nul ...

Est-ce parce que notre production CRM ont configuré ADFS et CRM essai n » t?

Si oui, peut-il être contourné en quelque sorte (notre CRM de test est dans un domaine qui ne peut pas être exposé à Internet)?

Merci :)

Répondre

1

Je suppose que votre CRM de test que vous utilisez tout simplement connexion AD sans ADFS. Si oui, vous ne pouvez pas obtenir de jeton de sécurité, car il n'y en a pas ici. Pour obtenir le service d'organisation vous allez comme:

ClientCredentials clientCreds = new ClientCredentials(); 
clientCreds.Windows.ClientCredential.UserName = "username"; 
clientCreds.Windows.ClientCredential.Password = "pass"; 
clientCreds.Windows.ClientCredential.Domain = "domain"; 
IServiceConfiguration<IOrganizationService> orgConfigInfo = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(new Uri("http://yourcrmserver/CRO/XRMServices/2011/Organization.svc")); 
OrganizationServiceProxy orgserv = new OrganizationServiceProxy(orgConfigInfo, clientCreds); 
+0

Oui, il n'y a pas d'ADFS sur le serveur où est installé CRM de test. Nous utilisons Dynamcis CRM 365 donc je vais aller avec 'CrmServiceClient' pour obtenir une connexion à CRM. THX :) – Genato