public IActionResult CreateToken([FromBody] UsersAuth login)
        {
            if (login == null)
            {
                return(Unauthorized());
            }

            DateTime dt          = DateTime.UtcNow.AddDays(7);
            bool     validUser   = Authenticate(login);
            string   tokenString = string.Empty;
            var      getUser     = _context.UsersItems.SingleOrDefault(x => x.Username == login.Username);

            if (validUser)
            {
                tokenString = MyFunctions.BuildToken(_config, login.Username, dt);
            }
            else
            {
                return(Unauthorized());
            }

            return(Ok(
                       new {
                id = getUser.Id,
                username = getUser.Username,
                email = getUser.Email,
                role = getUser.Role,
                firstName = getUser.FirstName,
                lastName = getUser.LastName,
                image = getUser.Image,
                token = tokenString,
                expiration = dt
            }
                       ));
        }
        private bool Authenticate(UsersAuth login)
        {
            var isUser = _context.UsersItems.SingleOrDefault(x => x.Username == login.Username);

            if (isUser == null || !BC.Verify(login.Password, isUser.Password))
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Exemple #3
0
        public IActionResult Authenticate(UsersAuth u)
        {
            var users = new List <UsersAuth>()
            {
                new UsersAuth()
                {
                    username = "******", password = "******"
                },
                new UsersAuth()
                {
                    username = "******", password = "******"
                },
                new UsersAuth()
                {
                    username = "******", password = "******"
                },
                new UsersAuth()
                {
                    username = "******", password = "******"
                },
                new UsersAuth()
                {
                    username = "******", password = "******"
                }
            };
            var _user = users.Find(e => e.username == u.username);

            var tokenHandler = new JwtSecurityTokenHandler();

            var tokenDescription = new SecurityTokenDescriptor()
            {
                Subject = new ClaimsIdentity(new Claim[] {
                    new Claim(ClaimTypes.Name, _user.username),
                    new Claim(ClaimTypes.Sid, _user.password)
                }),
                Expires            = DateTime.UtcNow.AddDays(7),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes("ini secretnya kurang panjaaaaaangggggg banget")), SecurityAlgorithms.HmacSha512Signature)
            };

            var token = tokenHandler.CreateToken(tokenDescription);

            var tokenResponse = new
            {
                token = tokenHandler.WriteToken(token),
                user  = _user.username
            };

            return(Ok(tokenResponse));
        }