Exemplo n.º 1
0
        public void Authenticate_GetFromCache_Test()
        {
            // Arrange
            string testUsername = "******";
            string testPassword = "******";
            var    user         = _dataFixture.GetUser();

            List <User> cachedUserList = new List <User> {
                user
            };

            _dataFixture.GetMocks <User>(out var mockRepository, out var mockCacheManager, out var mockOptions);

            mockCacheManager
            .Setup(cache => cache.GetFromCacheAsync <List <User> >(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(cachedUserList);

            var authFacade = new AuthenticationFacade(mockRepository.Object, mockCacheManager.Object, mockOptions.Object);

            // Act
            var result = authFacade.Authenticate(testUsername, testPassword, CancellationToken.None).Result;

            // Assert
            Assert.True(result);
        }
Exemplo n.º 2
0
        public void Authenticate_UserDoesNotExistInCacheNorInDb_Test()
        {
            // Arrange
            string testUsername = "******";
            string testPassword = "******";
            User   user         = null;

            List <User> cachedUserList = null;

            _dataFixture.GetMocks <User>(out var mockRepository, out var mockCacheManager, out var mockOptions);

            mockRepository
            .Setup(repo => repo.GetAsync <User>(user => user.Username == testUsername && user.Password == testPassword, CancellationToken.None))
            .ReturnsAsync(user);

            mockCacheManager
            .Setup(cache => cache.GetFromCacheAsync <List <User> >(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(cachedUserList);

            var authFacade = new AuthenticationFacade(mockRepository.Object, mockCacheManager.Object, mockOptions.Object);

            // Act
            var result = authFacade.Authenticate(testUsername, testPassword, CancellationToken.None).Result;

            // Assert
            Assert.False(result);
        }
Exemplo n.º 3
0
 public AuthController(IConfiguration config, IEmailConfiguration EmailConfiguration)//, UserManager<IdentityUser> _userManager, IEmailSender _emailSender, SignInManager<IdentityUser> _signInManager)
 {
     //userManager = _userManager;
     //emailSender = _emailSender;
     //signInManager = _signInManager;
     _emailConfiguration = EmailConfiguration;
     facade    = new AuthenticationFacade();// (userManager, emailSender, signInManager);
     admin_url = config.GetSection("ADMIN_url").Value;
     ui_url    = config.GetSection("UI_url").Value;
 }
Exemplo n.º 4
0
        public AuthenticationMiddleware(RequestDelegate next)//,UserManager<IdentityUser> _userManager, IEmailSender _emailSender, SignInManager<IdentityUser> _signInManager)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);

            IConfigurationRoot configuration = builder.Build();

            IsProduction = Convert.ToBoolean(configuration.GetSection("IsProduction").Value.ToString());
            facade       = new AuthenticationFacade();
            this.next    = next;
        }
Exemplo n.º 5
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var result = await AuthenticationFacade.AuthenticateAsync(Request, Session, new DaUserAccountCredentialsInfo()
            {
                Username     = model.Username,
                Password     = model.Password,
                RememberUser = model.RememberMe
            });

            /*
             * Calling the method synchronously
             * var result = Ejyle.DevAccelerate.Core.DaAsyncHelper.RunSync<SignInStatus>(() => AuthenticationFacade.AuthenticateAsync(Request, Session, new DaUserAccountCredentialsInfo()));
             */

            switch (result)
            {
            case SignInStatus.Success:
                return(RedirectToLocal(returnUrl));

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }