Beispiel #1
0
        public async Task<SignInUserResult> Execute(SignInUserModel signInUserModel)
        {
            var user = await userService.SignIn(signInUserModel.Email, signInUserModel.Password);
            if (user == null)
            {
                return new SignInUserResult { IsSuccessful = false, Error = "Invalid Login Details" };
            }

            var claims = new[]
            {
                new Claim(ClaimTypes.Name, user.Email),
                new Claim("tenantID", user.TenantID)
            };

            var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(configuration["JwtSecurityKey"]));
            var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            var expiry = DateTime.Now.AddDays(Convert.ToInt32(configuration["JwtExpiryInDays"]));

            var token = new JwtSecurityToken(
                configuration["JwtIssuer"],
                configuration["JwtAudience"],
                claims,
                expires: expiry,
                signingCredentials: creds
            );
            return new SignInUserResult { IsSuccessful = true, Token = new JwtSecurityTokenHandler().WriteToken(token) };
        }
        public SignInUserModelValidatorShould()
        {
            var fixture = TestFixture.Create();

            model       = fixture.Create <SignInUserModel>();
            model.Email = "*****@*****.**";
            sut         = new SignInUserModelValidator();
        }