You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.2 KiB

1 year ago
  1. using Microsoft.Extensions.Configuration;
  2. using Shentun.Utilities;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7. namespace Shentun.WebApi.Service
  8. {
  9. /// <summary>
  10. /// Jwt配置
  11. /// </summary>
  12. public class JwtConfig
  13. {
  14. private readonly IConfigurationSection _configSection;
  15. public JwtConfig()
  16. {
  17. var builder = new ConfigurationBuilder().SetBasePath(DirectoryHelper.GetAppDirectory()).AddJsonFile("appsettings.json");
  18. var configuration = builder.Build();
  19. _configSection = configuration.GetSection("Jwt");
  20. }
  21. public JwtConfig(IConfiguration configuration)
  22. {
  23. _configSection = configuration.GetSection("Jwt");
  24. }
  25. public string Issuer => _configSection.GetValue("Issuer", "Shentun");
  26. public string Audience => _configSection.GetValue("Audience", "MyAudience");
  27. /// <summary>
  28. /// 安全密钥
  29. /// </summary>
  30. public string SecurityKey => _configSection.GetValue("SecurityKey", "Shentun!@##%^^8735");
  31. /// <summary>
  32. /// Web端过期时间
  33. /// </summary>
  34. public double WebExpiration => _configSection.GetValue<double>("WebExpiration", 30);
  35. /// <summary>
  36. /// 移动端过期时间
  37. /// </summary>
  38. public double MobileExpiration => _configSection.GetValue<double>("MobileExpiration", 30);
  39. /// <summary>
  40. /// 小程序过期时间
  41. /// </summary>
  42. public double MiniExpiration => _configSection.GetValue<double>("MiniExpiration", 30);
  43. /// <summary>
  44. /// 自助机程序过期时间
  45. /// </summary>
  46. public double SelfMachineExpiration => _configSection.GetValue<double>("SelfMachineExpiration", 30);
  47. /// <summary>
  48. /// 桌面程序过期时间
  49. /// </summary>
  50. public double DesktopExpiration => _configSection.GetValue<double>("DesktopExpiration", 30);
  51. /// <summary>
  52. /// 其他端过期时间
  53. /// </summary>
  54. public double OtherExpiration => _configSection.GetValue<double>("OtherExpiration", 1);
  55. }
  56. }