Пример #1
0
 private async void OnIdTokenChanged(object sender, IdTokenEventArgs e)
 {
     if (!isProcessingIdToken)
     {
         isProcessingIdToken = true;
         if (e.Auth.CurrentUser is null)
         {
             wasDonor = false;
         }
         else
         {
             var  claims = (await e.Auth.CurrentUser.GetIdTokenResultAsync(false)).Claims;
             bool isAdmin = false, isPartner = false;
             if (claims.TryGetValue("admin", out var a))
             {
                 isAdmin = (bool)a !;
             }
             if (claims.TryGetValue("partner", out var p))
             {
                 isPartner = (bool)p !;
             }
             isDonor = !(isAdmin || isPartner);
             if ((isDonor != wasDonor) || CurrentState.Location.OriginalString == "//Loading")
             {
                 await OnCurrentUserChanged(DonorUser.Current);
             }
             wasDonor = isDonor;
         }
         DonorUser.SetCurrent(e.Auth.CurrentUser?.Uid);
         isProcessingIdToken = false;
     }
 }
Пример #2
0
        public static void SetTaxRate_ByDonor_Expect_AccessDenied()
        {
            IUser loggedInUser = new DonorUser();
            var   taStore      = new TaxRateStore(loggedInUser);

            var ex = Assert.Throws <UnauthorizedAccessException>(() => taStore.Set(0));

            Assert.That(ex.Message, Is.EqualTo("Access Denied!"));
        }