hwh
2024-06-20 3f728687d32cd8e2a59b54be16c6d7970f39645d
恢复
1个文件已修改
45 ■■■■ 已修改文件
Wms/Utility/Filter/ApiSignatureVerificationAttribute.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/Utility/Filter/ApiSignatureVerificationAttribute.cs
@@ -28,8 +28,9 @@
            var request = context.HttpContext.Request;
            // 获取请求中的时间戳和签名
            var timestamp = request.Headers["Timestamp"].FirstOrDefault();
            var signature = request.Headers["Signature"].FirstOrDefault();
            //var timestamp = request.Headers["Timestamp"].FirstOrDefault();
            var timestamp = "1718873584";
            var signature = "1718873584";
            if (string.IsNullOrEmpty(timestamp) || string.IsNullOrEmpty(signature))
            {
@@ -73,23 +74,9 @@
        {
            //var logs = long.Parse(timestamp);
            //var logs2 = int.Parse(timestamp);
            ////if (long.TryParse(timestamp, out var timestampSeconds))
            ////{
            //    var requestDateTime = DateTimeOffset.FromUnixTimeSeconds(logs);
            //    var currentDateTime = DateTimeOffset.UtcNow;
            //    // 计算时间差
            //    var timeDifference = currentDateTime - requestDateTime;
            //    // 比较时间差是否在允许的范围内
            //    return timeDifference.TotalMinutes <= Minutes;
            ////}
            //return false;
            try
            if (long.TryParse(timestamp, out var timestampSeconds))
            {
                var requestDateTime = DateTimeOffset.FromUnixTimeSeconds(long.Parse(timestamp));
                var requestDateTime = DateTimeOffset.FromUnixTimeSeconds(timestampSeconds);
                var currentDateTime = DateTimeOffset.UtcNow;
                // 计算时间差
@@ -97,11 +84,25 @@
                // 比较时间差是否在允许的范围内
                return timeDifference.TotalMinutes <= Minutes;
            }
            catch (Exception)
            {
                return false;
            }
            return false;
            //try
            //{
            //    var requestDateTime = DateTimeOffset.FromUnixTimeSeconds(long.Parse(timestamp));
            //    var currentDateTime = DateTimeOffset.UtcNow;
            //    // 计算时间差
            //    var timeDifference = currentDateTime - requestDateTime;
            //    // 比较时间差是否在允许的范围内
            //    return timeDifference.TotalMinutes <= Minutes;
            //}
            //catch (Exception)
            //{
            //    return false;
            //}
        }
    }
    public class SignConfig