示例#1
0
        public async Task <IActionResult> GenerateAuthenticationToken([FromBody] LoginModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new { message = AddErrors() }));
            }
            var result = await _userEngine.LoginGenerateToken(model);

            if (!result.Succeeded)
            {
                if (result.IsLockedOut)
                {
                    return(StatusCode(403, new { message = "User account locked out." }));
                }

                return(BadRequest(new { message = AddErrors() }));
            }

            return(Ok(new { token = CreateToken(result.Id) }));
        }