Ejemplo n.º 1
0
        // Challenge method that prompts for username / password
        private async Task <Credential> ChallengeUI(CredentialRequestInfo cri)
        {
            try
            {
                loginPanel.DataContext = new LoginInfo(cri);
                _loginTCS = new TaskCompletionSource <Credential>(loginPanel.DataContext);

                loginPanel.Visibility = Visibility.Visible;

                return(await _loginTCS.Task);
            }
            finally
            {
                LoginFlyout.Hide();
            }
        }
        // Challenge method that checks for service access with known credentials
        //private async Task<IdentityManager.Credential> Challenge_KnownCredentials(IdentityManager.CredentialRequestInfo cri)
        //{
        //    try
        //    {
        //        // Obtain credentials from a secure source
        //        string username = "******";
        //        string password = (cri.ServiceUri.Contains("USA_secure_user1")) ? "user1" : "pass.word1";

        //        return await IdentityManager.Current.GenerateCredentialAsync(cri.ServiceUri, username, password, cri.GenerateTokenOptions);
        //    }
        //    catch (Exception ex)
        //    {
        //        var _x = new MessageDialog("Access to " + cri.ServiceUri + " denied. " + ex.Message, "Credential Error").ShowAsync();
        //    }

        //    return await Task.FromResult<IdentityManager.Credential>(null);
        //}

        // Challenge method that prompts for username / password
        private async Task <Credential> ChallengeUI(CredentialRequestInfo cri)
        {
            try
            {
                string username = "******";
                string password = (cri.ServiceUri.Contains("USA_secure_user1")) ? "user1" : "pass.word1";

                loginPanel.DataContext = new LoginInfo(cri, username, password);
                _loginTCS = new TaskCompletionSource <Credential>(loginPanel.DataContext);

                loginPanel.Visibility = Visibility.Visible;

                return(await _loginTCS.Task);
            }
            finally
            {
                LoginFlyout.Hide();
            }
        }