public IActionResult Loginuser([FromBody] UnilagMedLogin model) { EntityConnection connection = new EntityConnection("tbl_medicalstaff"); string email = model.email; string pass = model.password; DateTime logindate = DateTime.Now; if (connection.CheckUser(email, pass) == true && model != null) { var claim = new[] { new Claim(ClaimTypes.NameIdentifier, model.roleId.ToString()), new Claim(JwtRegisteredClaimNames.Sub, model.email), //gotta add role as a sub for claim }; var signingkey = new SymmetricSecurityKey( Encoding.UTF8.GetBytes(_configuration["Jwt:SigningKey"])); int Expireminutes = Convert.ToInt32(_configuration["Jwt:ExpiryInMinutes"]); var token = new JwtSecurityToken( issuer: _configuration["Jwt:Site"], audience: _configuration["Jwt:Site"], expires: DateTime.Today.AddDays(2), signingCredentials: new SigningCredentials(signingkey, SecurityAlgorithms.HmacSha256)); var tokenval = new JwtSecurityTokenHandler().WriteToken(token); //var output = JsonConvert.SerializeObject(res); //var result = JsonConvert.SerializeObject(tokenval); var role = connection.DisplayRoles(email); var tempresult = new { logindate, tokenval }; return(Ok(new { data = role, tempresult })); } obj = new { message = "Please check login details and try again!" }; return(Unauthorized(obj)); }