Я создал тестовое приложение в WPF (собственный клиент). Этот клиент аутентифицируется с помощью Azure через библиотеку ADAL, и мне удалось приобрести токен после входа в систему. То, что я хотел бы сделать, - это получить список групп, членом которых является пользователь, чтобы я мог использовать эту группу в качестве элемента управления доступом для доступа к данным.Получить членство в группе пользователей из Azure AD для RBAC
До сих пор:
Успешно настроить мой родной клиент с Azure, и сел его разрешение делегат «Active Directory Windows Azure» в «Чтение данных каталога» и «Включить вход в систему и читать профили пользователей ».
Приобретать маркер после авторизации
- Чтение Пользователи Профиль информация
- Создан список пользователей и групп, и добавил их к соответствующей группе в Azure AD.
При попытке запросить Azure GRAPH следующей установкой
private async void ReadUserRoles(object sender, RoutedEventArgs e)
{
var result = authContext.AcquireToken(resource, clientID, redirectUri);
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
var userID = result.UserInfo.UniqueId;
var url = string.Format("{0}{1}/users/{2}/memberOf?api-version=2013-04-05", "https://graph.windows.net/", tenantID, userID);
var msg = await httpClient.GetAsync(url);
var userRoles = await msg.Content.ReadAsStringAsync();
MessageBox.Show(userRoles);
}
GRAPH запрос взят из: http://msdn.microsoft.com/en-us/library/azure/jj126255.aspx Но тогда я получаю несанкционированную ошибку. Пользователем, с которым я вошел, является «Глобальный администратор» в Azure. Полное сообщение об ошибке:
{"odata.error":{"code":"Authentication_MissingOrMalformed",
"message":{"lang":"en","value":"Access Token missing or malformed."},"values":null}}
Моя главная цель состоит в том, чтобы настроить приложение, в котором осуществляется доступ к данным на основе принадлежностью пользователей в AD с клиентом WPF.
Спасибо =) Мне удалось сделать эту работу прямо сейчас! – jonas