private async Task GetTokenAsync()

in ContosoApp/ViewModels/AuthenticationViewModel.cs [218:231]


        private async Task<string> GetTokenAsync()
        {
            var provider = await GetAadProviderAsync();
            var request = new WebTokenRequest(provider, "User.Read", 
                Repository.Constants.AccountClientId);
            request.Properties.Add("resource", "https://graph.microsoft.com");
            var result = await WebAuthenticationCoreManager.GetTokenSilentlyAsync(request);
            if (result.ResponseStatus != WebTokenRequestStatus.Success)
            {
                result = await WebAuthenticationCoreManager.RequestTokenAsync(request);
            }
            return result.ResponseStatus == WebTokenRequestStatus.Success ?
                result.ResponseData[0].Token : null;
        }