Dynamics CRM 2016 Çevrimiçi ve Azure Active Directory ile kimlik doğrulaması yapmaya çalışıyorum. Burada tüm adımları uygulayın başardı:Dynamics CRM 2016 İstemci kimlik bilgileriyle Çevrimiçi Rest API'si OAuth akışı
https://msdn.microsoft.com/en-us/library/mt622431.aspx ve https://msdn.microsoft.com/en-us/library/gg327838.aspx
ancak bu adımların set-up nasıl kullanıcı adı kimlik doğrulama akışını göstermektedir. İstemci kimlik akışını kullanmak istiyorum. Bir web uygulaması olan Azure AD'de yeni bir uygulama oluşturdum. Bir müşteri kimliğim ve bir uygulama anahtarım var ve Dynamics CRM Online için izinleri ayarladım. Ben erişim jetonu almak mümkün, ama daha sonraki çağrılarda bu hatayı alıyorum: Kaçırdığım bir adım
HTTP Error 401 - Unauthorized: Access is denied
var mı? Bu akışın nasıl çalıştığına dair ayrıntılar veren bir yer hakkında bilen var mı? Bir "Uygulama kullanıcı" ekleyin ve CRM özel güvenlik Rol atamanız gerekir
string clientId = "<client id>";
string appKey = "<app key>";
// Get the authority and resource URL at runtime
AuthenticationParameters ap = AuthenticationParameters.CreateFromResourceUrlAsync(new Uri("https://<org address>/api/data/")).Result;
String authorityUrl = ap.Authority;
String resourceUrl = ap.Resource;
// Authenticate the registered application with Azure Active Directory.
AuthenticationContext authContext = new AuthenticationContext(authorityUrl);
ClientCredential clientCredential = new ClientCredential(clientId, appKey);
AuthenticationResult result = authContext.AcquireToken(resourceUrl, clientCredential);
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
HttpResponseMessage response = client.GetAsync("https://<org address>/api/data/v8.1/EntityDefinitions").Result;
https://stackoverflow.com/a/48554845/3799784 benim yanıta bakın API'larının uygulama kredilerini desteklememesi mümkündür. Kimlik bilgileri akışı tarafından edinilen erişim belirtecinde bulunmayan belirli izinler (temsilci erişimi tarafından sağlanan) arıyor olabilirler. –
Lütfen benzer soruma bakın http://stackoverflow.com/questions/37454539/using-adal-c-sharp-as-confidential-user-daemon-server-server-to-server-401-u/38008891 – IntegerWolf
Olası çoğaltılan [Gizli Kullanıcı/Daemon Sunucusu/Sunucudan Sunucuya - 401 Yetkisiz olarak ADAL C# Kullanılıyor] (https://stackoverflow.com/questions/37454539/using-adal-c-sharp-as-confidential -kullanicitarafindanolusturulmus cin-sunucu-sunucu sunucuya-401-u) –