前言:

前一阵子,我自己一直在写一套后台管理系统《》,后台技术栈基于springcloud组件实现的,授权则是使用的oauth2.0。为了让系统的功能更加健全,我在系统内添加了验证码功能,具体实现如下:

正文:

我这套系统授权基于oauth2.0实现,登录的是http://xxxx/oauth/token获取access_token。调用其他接口时,带上access_token进行权限认证。所以我要想加验证码,需要把验证码值放到http://xxxx/oauth/token链接上传到服务器进行验证。又因为我使用了zuul网关,作为网站的入口。我选择在使用zuul网关的filter过滤器进行校验验证码。

验证码我使用的是easycaptcha,git地址如下:https://gitee.com/whvse/easycaptcha。为了快速校验验证信息,我把验证码的值缓存到redis中,具有代码实现如下:

1.集成easycaptcha:

2.生成验证码并保存到redis中:

3. 校验验证码的filter: 

 4.使用,这里使用《idea中http client请求测试工具》:

4.1 获取验证码:

4.2 校验验证码:

成功返回如下: 

过期返回如下:

错误返回如下:

 

以上就是基于oauth2.0授权系统的验证码功能的实现的详细内容,更多关于oauth2.0授权系统验证码的资料请关注www.887551.com其它相关文章!