/// <summary> /// Validates a token for a record /// </summary> /// <param name="id">Record id</param> /// <param name="token">Token</param> /// <returns>Boolean</returns> public static bool ValidateToken(string id, string token) { if (string.IsNullOrEmpty(token)) { return(false); } string[] parts = AESEncryption.Decrypt(token).Split(new char[] { '_' }); if (parts.Count() != 2) { return(false); } else { DateTime expiry = DateTime.Now; if (parts[0] == id && DateTime.TryParse(parts[1], out expiry) && expiry > DateTime.Now) { return(true); } else { return(false); } } }
/// <summary> /// Generates a token for a record /// </summary> /// <param name="id">Record id</param> /// <returns>Token</returns> public static string GenerateToken(string id) { // Generate a token which is compound from the record id and expiration return(AESEncryption.Encrypt(id + "_" + DateTime.Now.AddMinutes(GetTokenExpiration()))); }