public PhoneModule(VerificationCodeManager verificationCodeManager, TwilioSender twilioSender, ILogger <PhoneModule> logger) : base("/phoneverification") { this.verificationCodeManager = verificationCodeManager; this.twilioSender = twilioSender; this.logger = logger; this.RequiresAuthentication(); this.Post("/", this.SendSmsConfirmationCode); this.Post("/confirmation", this.ConfirmSmsConfirmationCode); }
public EmailVerificationModule(VerificationCodeManager verificationCodeManager, MailSender sender, ILogger <EmailVerificationModule> logger) : base("/emailverification") { this.verificationCodeManager = verificationCodeManager; this.sender = sender; this.logger = logger; this.RequiresAuthentication(); this.Post("/", this.SendConfirmationCode); this.Post("/confirmation", this.ConfirmVerificationCode); }
public IActionResult CaptchaHttp() { string cookieName = CaptchaSettings.Instance().CaptchaCookieName; int minCharacterCount = CaptchaSettings.Instance().MinCharacterCount; int maxCharacterCount = CaptchaSettings.Instance().MaxCharacterCount; bool enableLineNoise = CaptchaSettings.Instance().EnableLineNoise; CaptchaCharacterSet characterSet = CaptchaSettings.Instance().CharacterSet; string generatedKey = string.Empty; bool isAddCooikes = false; //创建或从缓存取验证码 string publicKey = null; if (HttpContext.Request.Cookies[cookieName] != null) { publicKey = HttpContext.Request.Cookies[cookieName]; } MemoryStream ms = null; if (!string.IsNullOrEmpty(publicKey)) { ms = VerificationCodeManager.GetCachedImageStream(publicKey); } //如果缓存中的数据已经过期移除,就走生成图片流程 if (ms == null) { //生成验证码图片并返回验证码并且缓存起来 string code = VerificationCodeManager.GenerateAndCacheImage(out generatedKey); ms = VerificationCodeManager.GetCachedImageStream(generatedKey); VerificationCodeManager.CacheCode(HttpContext, code, generatedKey); isAddCooikes = true; } if (isAddCooikes) { HttpContext.Response.Cookies.Append(cookieName, generatedKey); } byte[] bytes = ms.ToArray(); Response.Body.Dispose(); return(File(bytes, @"image/jpeg")); }
public static List <VerificationCode> ListOfVerificationCodes() { VerificationCodeManager vcm = new VerificationCodeManager(); return(vcm.codes); }