示例#1
0
 /// <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);
 }
示例#4
0
        /// <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();
 }