コード例 #1
0
 public static bool IsUndesired(this AuthenticatorStatus status)
 {
     return(status
            is AuthenticatorStatus.ATTESTATION_KEY_COMPROMISE
            or AuthenticatorStatus.USER_VERIFICATION_BYPASS
            or AuthenticatorStatus.USER_KEY_REMOTE_COMPROMISE
            or AuthenticatorStatus.USER_KEY_PHYSICAL_COMPROMISE
            or AuthenticatorStatus.REVOKED);
 }
コード例 #2
0
 private void LoginResponse(AuthenticatorStatus status, LocalUser user)
 {
     {
         Device.BeginInvokeOnMainThread(() =>
         {
             if (status == AuthenticatorStatus.Success)
             {
                 LocalUserManager.LocalUser = user;
                 Application.Current.Properties["PrivateKey"] = user.PrivateKey;
                 Application.Current.SavePropertiesAsync();
                 var listGetter     = KarmaBadgeSystemManager.NewKarmaBadgeListGetter();
                 listGetter.Result += (_status, badges) => {
                     Device.BeginInvokeOnMainThread(() =>
                     {
                         if (_status == KarmaBadgeListGetStatus.Success)
                         {
                             KarmaBadgeFetcher.KarmaBadges = badges;
                             App.Current.MainPage          = new Views.MainPage();
                         }
                         else
                         {
                             UsernameEntry.IsEnabled    = true;
                             PasswordEntry.IsEnabled    = true;
                             StatusLabel.IsVisible      = true;
                             StatusLabel.Text           = LocalizeStatus(_status);
                             LoadingIndicator.IsRunning = false;
                             LoginButton.IsVisible      = true;
                         }
                     });
                 };
                 listGetter.Get();
             }
             else
             {
                 UsernameEntry.IsEnabled    = true;
                 PasswordEntry.IsEnabled    = true;
                 StatusLabel.IsVisible      = true;
                 StatusLabel.Text           = LocalizeStatus(status);
                 LoadingIndicator.IsRunning = false;
                 LoginButton.IsVisible      = true;
             }
         });
     }
 }
コード例 #3
0
        public void PrivateKeyTest()
        {
            LocalUser           user   = Login();
            bool                done   = false;
            LocalUser           user1  = null;
            AuthenticatorStatus status = AuthenticatorStatus.UnknownError;

            var auth = AuthenticationSystemManager.NewAuthenticator();

            auth.Result += (_status, _user) =>
            {
                status = _status;
                user1  = _user;
                done   = true;
            };
            auth.Login(user.PrivateKey);
            while (!done)
            {
            }
            Assert.AreEqual(status, AuthenticatorStatus.Success);
            Assert.AreEqual(user.PrivateKey, user1.PrivateKey);
            Assert.AreEqual(user.Username, user1.Username);
        }
コード例 #4
0
        public static LocalUser Login(string username = "******", string password = "******")
        {
            AuthenticatorStatus status = AuthenticatorStatus.UnknownError;
            LocalUser           user   = null;
            bool done = false;
            var  auth = AuthenticationSystemManager.NewAuthenticator();

            auth.Result += (_status, _user) =>
            {
                status = _status;
                user   = _user;
                done   = true;
            };
            auth.Login(username, password);
            while (!done)
            {
            }
            Assert.AreEqual(status, AuthenticatorStatus.Success);
            Assert.AreNotEqual(user, null);
            Assert.AreEqual(user.Username, username);
            LocalUserManager.LocalUser = user;
            return(user);
        }