public async Task <IActionResult> Authenticate([FromBody] AuthenticationnModel input) { try { var loginResult = await _authenticationRepository.AuthenticateAsync(input.Login, input.Password); if (!loginResult.Success) { return(Unauthorized(loginResult.Error)); } var accessToken = _authenticationRepository.GenerateToken(loginResult, _appSettings); return(Ok(new AuthenticationReponse() { AccessToken = accessToken, ExpireInSeconds = (int)TimeSpan.FromHours(2).TotalSeconds, Name = loginResult.Name, Photo = loginResult.Photo, Roles = loginResult.Roles })); } catch (Exception ex) { return(BadRequest(ex)); } }