/// <summary> /// /// </summary> /// <param name="options">微信服务配置</param> /// <param name="version">微信支付接口版本</param> /// <param name="notifyType">微信财付通通知类型</param> /// <param name="request">请求信息</param> public WeChatNotifyData(WeChatGenOptions options, WeChatPayApiVersion version, WeChatNotifyType notifyType, HttpRequest request) { NotifyType = notifyType; Version = version; Options = options; Request = request; }
/// <summary> /// /// </summary> /// <param name="next"></param> /// <param name="options"></param> /// <param name="handler"></param> public WeChatNotifyV3Middleware(RequestDelegate next, WeChatGenOptions options, IWeChatNotifyHandler handler) { Next = next; Options = options; Handler = handler; SetUp(); }
/// <summary> /// /// </summary> /// <param name="next"></param> /// <param name="options"></param> /// <param name="handler"></param> /// <param name="loggerProvider"></param> public WeChatOAuthV2Middleware(RequestDelegate next, WeChatGenOptions options, IWeChatOAuthHandler handler, ILoggerProvider loggerProvider) { Next = next; Options = options; Handler = handler; OAuthBaseRedirectUri = new PathString($"/{Guid.NewGuid().ToString("N")}"); OAuthUserInfoRedirectUri = new PathString($"/{Guid.NewGuid().ToString("N")}"); Logger = loggerProvider.CreateLogger(nameof(WeChatOAuthV2Middleware)); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); }
/// <summary> /// /// </summary> /// <param name="options">微信配置</param> public SecurityHelper(WeChatGenOptions options) { Options = options; if (!string.IsNullOrWhiteSpace(Options.WeChatBaseOptions.CertFilePath)) { PrivateCert = new X509Certificate2(Options.WeChatBaseOptions.CertFilePath, Options.WeChatBaseOptions.CertPassword, X509KeyStorageFlags.Exportable); PrivateKey = (RSACryptoServiceProvider)PrivateCert.PrivateKey; //需要重新导入参数 var parameters = PrivateKey.ExportParameters(true); PrivateKey.ImportParameters(parameters); } if (!string.IsNullOrWhiteSpace(Options.WeChatBaseOptions.PemFilePath)) { var publicKey = File.ReadAllBytes(Options.WeChatBaseOptions.PemFilePath); PublicKey = (RSACryptoServiceProvider)(new X509Certificate2(publicKey).PublicKey.Key); } }
/// <summary> /// /// </summary> /// <param name="next"></param> /// <param name="options"></param> public WeChatTokenVerificationMiddleware(RequestDelegate next, WeChatGenOptions options) { Next = next; Options = options; Security = new SecurityHelper(Options); }
/// <summary> /// /// </summary> /// <param name="options"></param> public WeChatServiceGenerator(WeChatGenOptions options) { Options = options ?? new WeChatGenOptions(); Services = new Dictionary <WeChatServiceVersion, IWeChatService>(); }
/// <summary> /// /// </summary> /// <param name="options"></param> public WeChatServiceV3(WeChatGenOptions options) { Options = options; Init(); }