1、zauth是一套独立的sso(单点登录)服务,拥有一整套完整的注册、登录、第三方认证集成、权限认证的解决方案。
2、支持邮箱、手机号注册登录,会通过邮箱或短信发送验证码。你可以学习到如何通过代码发送邮箱和短信。
3、支持第三方认证服务,目前已可用的有QQ,微博及码云(gitee)认证。微信暂时不可用,因为不支持个人接入。oauth2鉴权流程点我查看
4、支持:①服务同域,redis同源。②服务不同域,redis同源。其实redis不同源也很好做,就是懒得部署两套redis。 最难的是不同域,也就是zauth服务跟要接入的服务在不同的两个域名或IP下,zauth通过签发一次性ucode解决cookie跨域写入问题。流程点我查看
5、zjax和剑来网关为ajax重定向和权限认证做了极大的支持,借助这两个项目,你可以很简单接入该认证服务。zjax支持解析后台自定义响应头redirect跟enableRedirect。 剑来网关支持注解和通过接口配置权限,目前只有4种权限:未登录权限、登录权限、会员权限(VIP付费用户)、超级管理员权限。
6、我写了一篇博客介绍, 点我查看
比Apache Shiro和Spring Security要简单多了。虽然简单,但并不意味着zauth不安全。因为简单,所以可能会有一些我无法预料的问题
借鉴了Spring Security通过注解来细颗粒度控制权限的思想,你只需一个注解,就可以控制访问该接口的权限。 只需配置一个白名单,就可以控制访问页面的权限。 token规范并不是使用jwt,而是直接使用uuid作为token,减小了学习和使用成本 (有关jwt,可参照我的博客中的jwt部分)。点击查看请求认证的流程
现在主流的应用都有自己的oauth鉴权流程。oauth2鉴权流程点我查看,流程比较复杂至少要调用三个接口 ,zauth帮已经你集成了,你只需调用zauth的一个接口,就可以获取到第三方应用的用户信息。
后端通过redis保存用户信息跟验证码,通过设置缓存时间控制有效期。前端通过storage控制有效期。参考我的设计,你能学到更多