Beispiel #1
0
        public IActionResult AuthenticateUser([FromBody] LoginViewModel login)
        {
            IActionResult response = BadRequest(new { message = "Authentication failed." });
            var           user     = Authenticate(login);

            if (user != null)
            {
                var claims = new[]
                {
                    new Claim(JwtRegisteredClaimNames.NameId, user.Id),
                    new Claim(JwtRegisteredClaimNames.GivenName, user.Name),
                    new Claim(JwtRegisteredClaimNames.Sub, user.Name),
                    new Claim(JwtRegisteredClaimNames.Email, user.Email),
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString())
                };

                var tokenString    = _JWTHelper.createJWTToken(claims.ToList());
                var encryptedToken = _cryptoHelper.encrypt(tokenString);

                string _cookieName = _cookieHelper.GetCookieName();
                _cookieHelper.WriteCookie(_cookieName, encryptedToken);

                response = Ok(new { token = encryptedToken, redirectUrl = _configuration["AppSettings:homePageUrl"] });
            }

            return(response);
        }