Я создал небольшое консольное приложение, чтобы попытаться получить необязательные требования из манифеста приложения через Graph API.
Это работает, как и ожидалось, при запросах через консольное приложение, но когда я пытаюсь сделать это в моей службеЭкземпляр Fabric, работающий локально, с моим вызовом API получает гораздо меньше extendedProperties.
Вот код
var groups = new List<Group>();
var userQuery = _addClient.DirectoryObjects.OfType<Application>().Where(application => application.AppId.Equals(objectId));
var batchResult = await _addClient.Context.ExecuteBatchAsync(userQuery);
var app = batchResult[0].SuccessResult.CurrentPage[0] as Application;
var optionalClaims = app.GetExtendedProperties()[OptionalClaims] as Microsoft.Data.OData.ODataComplexValue;
var idToken = optionalClaims.Properties.FirstOrDefault(x => x.Name == IDToken) as Microsoft.Data.OData.ODataProperty;
var items = (idToken.Value as Microsoft.Data.OData.ODataCollectionValue).Items;
Когда я запускаю этот код через консольное приложение, я получаю все расширенные свойства, но когдая запускаю его через ServiceFabric, я получаю только несколько из них (и не тот, который мне нужен)
Обе используют
Microsoft.Azure.ActiveDirectory.GraphClient 2.1.1 Microsoft.IdentityModel.Clients.ActiveDirectory 3.19.6
, хотя я вижу запрос консольного приложения и возвращающиеся данные, но пытаюсь заставить сервисную фабрику проходить через fiddler, чтобы я мог видеть, не связывается ли он с запросом к Graph
Любая помощь будет отличной