public UserAuthenticationModel IsAuthenticated(TokenRequest request) { var result = _userAuthentication.Get(request.Username, request.Password); if (result != null && result.IsAuthenticated) { var claim = new[] { new Claim(ClaimTypes.Name, result.Name), new Claim("UserInfo", result.Id.ToString() + '|' + result.Name + '|' + result.RoleId.ToString()) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_tokenManagement.Secret)); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var jwtToken = new JwtSecurityToken( _tokenManagement.Issuer, _tokenManagement.Audience, claim, notBefore: DateTime.Now, expires: DateTime.Now.AddMinutes(_tokenManagement.AccessExpiration), signingCredentials: credentials ); result.Token = new JwtSecurityTokenHandler().WriteToken(jwtToken); return(result); } else { return new UserAuthenticationModel { IsAuthenticated = false } }; }