public async Task <IActionResult> Login([FromBody] LoginBindingModel model) { var user = await _accountService.Login(model.UserName, model.Password); var roles = await _accountService.GetRoles(user); var token = await GenerateToken(user, roles.ToArray()); var jwtToken = new JwtSecurityTokenHandler().WriteToken(token); var lifeTime = new JwtSecurityTokenHandler().ReadToken(jwtToken).ValidTo; return(Ok(new LoginResponse { Token = jwtToken, ValidTo = lifeTime.ToUniversalTime(), User = await GetUserResponse(user), Roles = roles })); }