CheckCodeHelper
适用于发送验证码及校验验证码的场景(比如找回密码功能)
支持周期内限制最大发送次数,支持单次发送后最大校验错误次数
存储方案默认提供了Redis
和MemoryCache
实现,你也可以自己实现ICodeStorage
来支持其它存储方案。
如何使用
你可以在此处查看使用例子 https://github.com/fdstar/CheckCodeHelper/blob/master/src/CheckCodeHelper.Samples
Program.PrevDemo()
为new
显示声明方式实现的DemoComplexHelperTest
为.Net Core
依赖注入方式实现的DemoConsoleSender
为自定义ICodeSender
及ICodeSenderSupportAsync
的例子
Release History
2021-11-30 Release
CheckCodeHelper v1.0.6 |
---|
鉴于IComplexContentFormatter 在ComplexHelper 中作为构造参数传入,其本身可能已包含如何构造要发送的文本内容,故调整ComplexHelper.ComplexSetting.ContentFormatters 为空未设置时,不再抛出异常 |
2021-11-22 Release
CheckCodeHelper v1.0.5 |
---|
ComplexHelper 公开读取配置的方法以支持某些特殊场景 |
ComplexContentFormatter 调整唯一标志的组成方式,使其与ComplexHelper 保持一致以减少字符串碎片 |
CheckCodeHelper.Storage.Redis v1.0.2 |
ICodeStorage.RemovePeriodAsync 同时移除周期限制及错误次数记录 |
CheckCodeHelper.Storage.Memory v1.0.1 |
ICodeStorage.RemovePeriodAsync 同时移除周期限制及错误次数记录 |
2021-11-03 Release
CheckCodeHelper v1.0.4 |
---|
增加ICodeSenderSupportAsync 以支持ICodeSender.IsSupport 异步场景,如果ICodeSender 同时实现了ICodeSenderSupportAsync ,则CodeHelper 会通过ICodeSenderSupportAsync.IsSupportAsync 判断SendResult.NotSupport |
修正ComplexHelper 获取PeriodLimit 时,如果未配置ComplexSetting.PeriodMaxLimits 会导致ComplexSetting.PeriodLimitIntervalSeconds 无效的问题 |
2021-10-20 Release
CheckCodeHelper.Storage.Redis v1.0.1 |
---|
调整为通过Lua 脚本合并执行Redis 的多条更新指令 |
2021-10-18 Release
CheckCodeHelper v1.0.3 |
---|
增加EffectiveTimeDisplayedInContent 以调整验证码有效期在发送内容中的展示方式,ComplexHelper 已支持该枚举,ComplexSetting.EffectiveTimeDisplayed 默认设置为Seconds ,即在所有的发送内容中以秒对应的数字进行展示,设置为Auto 时如果有效时间为整360秒或以上且可被360整除,则展示为对应的小时数,有效时间为整60秒或以上且可被60整除,则展示为对应的分钟数 |
SendResult.NotSupprot 修正拼写错误为SendResult.NotSupport ;VerificationResult.VerificationFailed 简化为Failed 。注意对于CheckCodeHelper 这是破坏性调整,会造成升级后相关判断产生错误 |
CheckCodeHelper.Sender.EMail v1.0.3 |
移除不必要的Subject Func ,同步调整TextFormat 及Subject 到EMailMimeMessageSetting ,注意对于EMail 部分这是一个破坏性调整 |
CheckCodeHelper.Sender.AlibabaSms v1.0.0 |
基于阿里模板短信的ICodeSender 实现 |
2021-07-20 Release
CheckCodeHelper v1.0.2 |
---|
增加PeriodLimit.Interval 以支持限制发送检验码的时间间隔 |
CheckCodeHelper.Sender.Sms v1.0.1 |
升级依赖的RestSharp 版本至106.12.0 以解决潜在的安全问题 |
2021-07-17 Release
CheckCodeHelper v1.0.1 |
---|
增加ComplexHelper 以统一在单个应用中校验码的发送与验证入口,支持按需调用指定的ICodeSender |
CheckCodeHelper.Sender.EMail v1.0.2 |
增加Subject Func 以支持ComplexHelper |
2021-07-15 Release
CheckCodeHelper v1.0.0 |
---|
主体功能 |
CheckCodeHelper.Sender.Sms v1.0.0 |
基于非模板短信的ICodeSender 实现 |
CheckCodeHelper.Sender.EMail v1.0.1 |
基于EMail的ICodeSender 实现 |
CheckCodeHelper.Storage.Redis v1.0.0 |
基于Redis 的ICodeStorage 实现 |
CheckCodeHelper.Storage.Memory v1.0.0 |
基于MemoryCache 的ICodeStorage 实现 |