public static string GenerateAuthToken(int userId) { string jwtKey = ConfigContex.GetJwtKey(); var SymmetricSecurityLey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtKey)); // Signing Credentials var signingCredentials = new SigningCredentials(SymmetricSecurityLey, SecurityAlgorithms.HmacSha256); // Claims var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, userId.ToString()), }; // Create Token var token = new JwtSecurityToken( issuer: ConfigContex.GetJwtIssuer(), audience: ConfigContex.GetJwtAudience(), claims, expires: DateTime.Now.AddDays(7), signingCredentials: signingCredentials ); // Encode Token var encodeToken = new JwtSecurityTokenHandler().WriteToken(token); // Return Token return(encodeToken); }
// Returns validation parameter settings private static TokenValidationParameters GetValidationParameters() { return(new TokenValidationParameters() { ValidateLifetime = true, ValidIssuer = ConfigContex.GetJwtIssuer(), ValidAudience = ConfigContex.GetJwtIssuer(), IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(ConfigContex.GetJwtKey())) }); }
public static string HashPassword(string unHashedPassword) { // Salt byte[] salt = Encoding.ASCII.GetBytes(ConfigContex.GetSalt()); // Hash password var pbkdf2 = new Rfc2898DeriveBytes(unHashedPassword, salt, 10000); byte[] hash = pbkdf2.GetBytes(20); // Combine salt and Password byte[] hashBytes = new byte[36]; Array.Copy(salt, 0, hashBytes, 0, 16); Array.Copy(hash, 0, hashBytes, 16, 20); // Stringyfy password and return it string hasedPassword = Convert.ToBase64String(hashBytes); return(hasedPassword); }