Пример #1
0
        public async Task <IActionResult> Register([FromBody] JsonLoginModel userModel)
        {
            var user = new User
            {
                UserName = userModel.username,
                Email    = userModel.email,
            };
            var result = await _userManager.CreateAsync(user, userModel.password);

            if (result.Succeeded)
            {
                return(Ok());
            }
            return(BadRequest(result.Errors));
        }
Пример #2
0
        public async Task <IActionResult> Login([FromBody] JsonLoginModel userModel)
        {
            var user = await _userManager.FindByNameAsync(userModel.username);

            if (user != null && await _userManager.CheckPasswordAsync(user, userModel.password))
            {
                var securityKey = _configuration["JwtTokens:Secret"];
                var token       = JwtTokenUtils.GenerateToken(user, securityKey);
                var validUntil  = token.Claims.FirstOrDefault(o => o.Type == "exp")?.Value;
                return(Json(new
                {
                    jwt = new JwtSecurityTokenHandler().WriteToken(token),
                    validUntil
                }));
            }
            return(BadRequest("Incorrect combination of username and password"));
        }