验证方式架构
一、需求
1、当前验证方式已插件化,系统支持图片验证码插件和阿里云滑动验证插件。
2、以插件方式进行开发,以方便后期兼容更多的验证方式。
3、系统默认开启的是图片验证码方式进行验证。可在管理端-设置管理-验证方式设置中开启其它的验证方式。
二、阿里云滑动验证流程图
注意:以下以登录操作举例,此验证方式可通用(登录、注册、绑定手机号等)。
验证流程说明:
客户端发送请求,需要将验证的参数上传,但是API在接收参数时,不接收需要验证的参数,而是在调用验证接口时用HTTPRequest的方式来获取参数。以登录操作举例,API只需要接收用户名和密码参数即可,其它需要验证的参数要在相对应的验证接口中用HTTPRequest的方式来获取,而不需要API在调用验证接口的时候直接传参。
三、前端接口调用
1、前端在开发验证功能时,需要调用API来获取当前系统开启了哪种验证方式,并获取相应的参数。
2、API说明:
API地址 | {base-domain}/validator |
---|---|
请求方式 | GET |
调用示例:
GET: base.xx.com/validator
返回参数:
参数名 | 意义 | 类型 |
---|---|---|
validator_type | 验证类型 IMAGE:图片验证码,ALIYUN:阿里云滑动验证 | String |
aliyun_afs | 阿里云滑动验证参数对象 | Object |
AliyunAfs对象说明:
名称 | 意义 | 类型 |
---|---|---|
app_key | 应用程序秘钥 | String |
scene | 场景标识 | String |
返回参数示例:
{
"validator_type": "ALIYUN",
"aliyun_afs": {
"app_key": "FFFF0N00000000008828",
"scene": "nc_other"
}
}