Мобильные службы Azure с утверждениями пользователей об авторизации в Azure AD

#cordova #azure #azure-mobile-services #azure-active-directory

#кордова #azure #azure-mobile-services #azure-active-directory

Вопрос:

Интересно, как я могу вернуть утверждения при аутентификации пользователей в мобильных службах Azure с использованием Azure AD.

Я использую мобильные службы Azure для аутентификации пользователей в приложении phonegap. Процесс аутентификации работает нормально, ответ, который я получаю от службы, выглядит следующим образом

 {
    "userId": "Aad:o5ExTvSOMETHING_HEREpb0c",
    "mobileServiceAuthenticationToken": "A_TOKEN"
}
  

Как я могу получить свойства профиля, такие как полное имя, имя для входа и т.д., Чтобы я мог хотя бы вывести что-то вроде «Привет, Ларс», «Lars» — возвращаемое утверждение.

После входа в систему я перенаправляю пользователя обратно на «домашний»:

 LoginController.prototype.doLogin = function() {
    var that = this;
    client.login('Aad').done(function(response) {
       that.ons.navigator.resetToPage("page1.html", { title: 'Home' });
    }, function (error) {
        console.log(error);            
    });
};
  

Когда после входа в систему запускается HomeController, client.CurrentUser представляет собой объект с описанной выше структурой:

 HomeController = function($scope) {
    $scope.controllerhello = "Welcome home!";
    if(client.currentUser == null) {
        $scope.ons.navigator.pushPage("login.html", { title: 'Sign in' });
    }
};    
  

Я надеялся на такой ответ:

 {
    "userId": "Aad:o5ExTvSOMETHING_HEREpb0c",
    "mobileServiceAuthenticationToken": "A_TOKEN",
    "claims": {
        userName: "someusername@me.onmicrosoft.com",
        fullName: "Lars"
    }
}
  

Как, если, я могу получить эти утверждения. Связано ли это с манифестом приложения в разделе управление azure AD -> приложения -> управление манифестом?

Ответ №1:

Мобильные службы не отправляют утверждения AAD клиенту, но их довольно легко получить с сервера с помощью пользовательского API. Большую часть необходимых данных можно получить, выполнив вызов AAD Graph API. Здесь хранится вся информация о ваших пользователях.

В этом сообщении в блоге показаны шаги для доступа к графику и представления имени пользователя AAD на экране с помощью узла.Серверная часть JS. Это немного устарело с точки зрения пользовательского интерфейса, но концепции все еще должны применяться. Теперь вместо нажатия кнопки «Управление разрешениями» вы перейдете в раздел «разрешения для других приложений» и установите соответствующие разрешения для приложений в «Windows Azure Active Directory».