示例#1
0
        /// <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);
                }
            }
        }
示例#2
0
 /// <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())));
 }