SecretContext.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using Top.Api.Util;
  3. namespace Top.Api.Security
  4. {
  5. public class SecretContext : SecurityConstants
  6. {
  7. /// <summary>
  8. /// 秘钥
  9. /// </summary>
  10. public byte[] Secret { get; set; }
  11. /// <summary>
  12. /// 秘钥版本
  13. /// </summary>
  14. public Nullable<Int64> SecretVersion { get; set; }
  15. /// <summary>
  16. /// 过期时间,单位(毫秒)
  17. /// </summary>
  18. public long InvalidTime { get; set; }
  19. /// <summary>
  20. /// 最长有效期,单位(毫秒)
  21. /// </summary>
  22. public long MaxInvalidTime { get; set; }
  23. /// <summary>
  24. /// 判断是否过期
  25. /// </summary>
  26. /// <returns></returns>
  27. public bool IsValid()
  28. {
  29. return InvalidTime > TopUtils.GetCurrentTimeMillis();
  30. }
  31. /// <summary>
  32. /// 容灾,调用api获取秘钥可能会失败,在失败情况下最长有效期
  33. /// </summary>
  34. /// <returns></returns>
  35. public bool IsMaxValid()
  36. {
  37. return MaxInvalidTime > TopUtils.GetCurrentTimeMillis();
  38. }
  39. }
  40. }