Приложение UWP с аутентификацией Azure AD - как узнать состояние входа пользователя - PullRequest
0 голосов
/ 25 сентября 2018

Я создал небольшое приложение UWP на C #, которое содержит аутентификацию Azure AD (для нашей корпоративной учетной записи Azure AD) на основе примера, найденного здесь - https://github.com/Azure-Samples/active-directory-dotnet-native-uwp-wam/tree/master/NativeClient-UWP-WAM

У меня есть пример, успешно работающий в моем приложении, но я не могу найти способ обнаружить, что пользователь вошел или не вошел в систему (после завершения входа).Я хочу использовать это, чтобы пользователи не могли переходить на другие страницы приложения UWP без проверки подлинности.Если бы я делал это в ASP.NET, я бы проверил что-то вроде объекта Context.Identity.User.Я просто хочу иметь возможность сделать (в псевдокоде)

Перейдите на страницу 1, если пользователь подписал = true, показать страницу.Если false, ошибка / сбой.

Я просмотрел состояние пользователя, подписал состояние и т. Д., Но на самом деле ничего не отображается.

1 Ответ

0 голосов
/ 26 сентября 2018
  1. Включите информацию об учетной записи пользователя в package.appmanifest enter image description here
  2. Затем попробуйте:

    private async void Page_Loaded(object sender, RoutedEventArgs e)
    {
        IReadOnlyList<User> users = await User.FindAllAsync();
    
        var current = users.Where(p => p.AuthenticationStatus ==                                
        UserAuthenticationStatus.LocallyAuthenticated && 
                            p.Type == UserType.LocalUser).FirstOrDefault();
    
        // user may have username
        var data = await current.GetPropertyAsync(KnownUserProperties.AccountName);
        string displayName = (string)data;
    
        text1.Text = displayName; 
    }
    

https://docs.microsoft.com/en-us/uwp/api/Windows.System.User

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...