示例#1
0
        public async Task <IActionResult> Login(UserForLoginDto User)
        {
            var userFromRepo = await _repo.Login(User.Username.ToLower(), User.Password);

            if (userFromRepo == null)
            {
                return(Unauthorized());
            }

            var claims = new[] {
                new Claim(ClaimTypes.NameIdentifier, userFromRepo.Id.ToString()),
                new Claim(ClaimTypes.Name, userFromRepo.UserName)
            };

            JwtBuilder tokenbBuilder =
                new JwtBuilder(
                    claims,
                    _config.GetSection("AppSettings:Token").Value,
                    DateTime.Now.AddHours(1));

            return(Ok(new {
                token = tokenbBuilder.BuildToken()
            }));
        }