Sowmya Sirsi

Sowmya Sirsi

  • 1.9k
  • 146
  • 6.2k

Jwt Authentication Query failed.

Jun 24 2021 5:43 AM

Jwt Api controller:

=====================

           [HttpPost("gettoken")]
           public IActionResult Login([FromBody]User user)
            {
               IActionResult response = Unauthorized();
               var users = AuthenticateUser(user);
               if (user != null)
               {
                    var tokenString = GenerateJSONWebToken(user);
                    response = Ok(new { token = tokenString });
                }

               return response;
            }

           

            private UserView AuthenticateUser(User login)
            {
                 var login = (from u in _context.Users
                                  select new {
                                              Username = u.Username,
                                              Password = u.Password
                                           });

              UserView userview=new UserView(login);
              return userview;
           }

 

          

              private string GenerateToken(User model, int expireMinutes = 20)
            {
               var tokenHandler = new JwtSecurityTokenHandler();
               var key = Encoding.ASCII.GetBytes(_JWTSettings.Secret);
               var now = DateTime.UtcNow;
               var tokenDescriptor = new SecurityTokenDescriptor
               {
                   Subject = new ClaimsIdentity(new[]
                   {
                        new Claim(ClaimTypes.Name, Convert.ToString(model.Username)),
                       // new Claim(ClaimTypes. Convert.ToString(model.token))
                    }),

              Expires = now.AddMinutes(Convert.ToInt32(expireMinutes)),

             SigningCredentials = new SigningCredentials(
                  new SymmetricSecurityKey(key),
                  SecurityAlgorithms.HmacSha256Signature)
            };

            var stoken = tokenHandler.CreateToken(tokenDescriptor);
           var token = tokenHandler.WriteToken(stoken);

            return token;
       }

===>DB table: User

 

Hi Team, Above is my JWT authentication code  to authorise a web api. The query what I have written in the AuthenticateUser is not working properly.  If I tried to add a Username and password and hit the request in postman it say "NOT FOUND".

Can anyone help me where I am going wrong?

Thanks


Answers (1)