Пример #1
0
        private JwtSecurityToken GetTokenPayload(LoginSpecification specification)
        {
            var now = DateTime.UtcNow;

            // Specifically add the jti (random nonce), iat (issued timestamp), and sub (subject/user) claims.
            // You can add other claims here, if you want:
            var claims = new Claim[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, specification.Login),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(
                    JwtRegisteredClaimNames.Iat,
                    now.ToUnixTimeSeconds().ToString(CultureInfo.InvariantCulture),
                    ClaimValueTypes.Integer64)
            };

            // Create the JWT and write it to a string
            var jwt = new JwtSecurityToken(
                issuer: settings.Issuer,
                audience: settings.Audience,
                claims: claims,
                notBefore: now,
                expires: now.Add(settings.Expiration),
                signingCredentials: settings.SigningCredentials);

            return(jwt);
        }
Пример #2
0
        private string GetToken(LoginSpecification specification)
        {
            var token      = GetTokenPayload(specification);
            var encodedJwt = new JwtSecurityTokenHandler().WriteToken(token);

            return(encodedJwt);
        }
Пример #3
0
        public IHttpActionResult PostUser(LoginCriteria criteria)
        {
            LoginCriteria _criteria = new LoginCriteria();

            _criteria = criteria;
            LoginSpecification loginSpecification = new LoginSpecification(criteria);
            var users = erf.Find(loginSpecification).ToList();

            return(Ok(users));
        }
Пример #4
0
        public IActionResult Login([FromBody] LoginSpecification specification)
        {
            var isAuthenticated = IsAuthenticated(specification);

            if (isAuthenticated == false)
            {
                return(Unauthorized());
            }

            var token = GetToken(specification);

            return(Ok(token));
        }
Пример #5
0
        public IActionResult Index(LoginSpecification loginInput)
        {
            IndexLoginVM loggedIn = new IndexLoginVM();

            if (loginInput.Username == "Admin" && loginInput.Password == "123")
            {
                loggedIn.IsLoggedIn = true;
            }
            else
            {
                loggedIn.IsLoggedIn = false;
            }

            return(View(loggedIn));
        }
Пример #6
0
        public IActionResult Index(LoginSpecification loginInput)
        {
            if (!ModelState.IsValid)
            {
                return(View(loginInput));
            }

            IndexLoginVM loggedIn = new IndexLoginVM {
                IsLoggedIn = true
            };

            //Ändra html i navbar?

            return(RedirectToAction("Index", "Home", loginInput));
        }
Пример #7
0
 private bool IsAuthenticated(LoginSpecification specification) => UserCollection.Users.Contains(specification);