ITokenHelper.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace Utils.Jwt
  7. {
  8. /// <summary>
  9. /// token工具类的接口,方便使用依赖注入
  10. /// </summary>
  11. public interface ITokenHelper
  12. {
  13. /// <summary>
  14. /// 根据一个对象通过反射提供负载生成token
  15. /// </summary>
  16. /// <typeparam name="T"></typeparam>
  17. /// <param name="user"></param>
  18. /// <returns></returns>
  19. TnToken CreateToken<T>(T user) where T : class;
  20. /// <summary>
  21. /// 根据键值对提供负载生成token
  22. /// </summary>
  23. /// <param name="keyValuePairs"></param>
  24. /// <returns></returns>
  25. TnToken CreateToken(Dictionary<string, string> keyValuePairs);
  26. /// <summary>
  27. /// Token验证
  28. /// </summary>
  29. /// <param name="encodeJwt">token</param>
  30. /// <param name="validatePayLoad">自定义各类验证; 是否包含那种申明,或者申明的值</param>
  31. /// <returns></returns>
  32. bool ValiToken(string encodeJwt, Func<Dictionary<string, string>, bool> validatePayLoad = null);
  33. /// <summary>
  34. /// 带返回状态的Token验证
  35. /// </summary>
  36. /// <param name="encodeJwt">token</param>
  37. /// <param name="validatePayLoad">自定义各类验证; 是否包含那种申明,或者申明的值</param>
  38. /// <param name="action"></param>
  39. /// <returns></returns>
  40. TokenType ValiTokenState(string encodeJwt, Func<Dictionary<string, string>, bool> validatePayLoad, Action<Dictionary<string, string>> action);
  41. }
  42. }