Facebook
From Commodious Duck, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 184
  1.  var user = _users.SingleOrDefault(x => x.Username == username && x.Password == password);
  2.  
  3.             // return null if user not found
  4.             if (user == null)
  5.                 return null;
  6.  
  7.             // authentication successful so generate jwt token
  8.             var tokenHandler = new JwtSecurityTokenHandler();
  9.             var key = Encoding.ASCII.GetBytes(_appSettings.Secret);
  10.             var tokenDescriptor = new SecurityTokenDescriptor
  11.             {
  12.                 Subject = new ClaimsIdentity(new Claim[]
  13.                 {
  14.                     new Claim(ClaimTypes.Name, user.Id.ToString()),
  15.                     new Claim("LastName", user.FirstName),
  16.                 }),
  17.                 Expires = DateTime.UtcNow.AddDays(7),
  18.                 SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
  19.             };
  20.             var token = tokenHandler.CreateToken(tokenDescriptor);
  21.             user.Token = tokenHandler.WriteToken(token);
  22.  
  23.             // remove password before returning
  24.             user.Password = null;
  25.  
  26.             return user;
  27.