为什么写这个项目?
对于小的创建公司,团队. 开始一个新项目,新产品时, 总是要开发一套账号系统, 用于处理用户注册,登录,SESSION 管理相关问题. 同时在需求上基本上大同小异. 所以本项目目的是开发一套较为通用的用户账号系统, 希望能满足大部分 APP 系统的账号需求. 本项目主要用于 C 端应用, 所以不会考虑权限问题.
Technologies
- 语言: golang
- Web 框架: gin
- 数据库: MySQL
- 缓存: Redis
Features
- 注册方式支持: 用户名密码(验证手机号), 第三方登录注册.
- 登录方式支持: 用户名密码登录, 手机验证码登录, 第三方登录.
- Token 管理: 支持多端同时登录, 支持同一端的登录踢出(可配置).
- 支持用户资料的填写.
- 支持用户登录日志记录.
-
管理后台功能:
- 对用户的查询,搜索,修改,禁用.
- 对用户登陆日志的查询.
- 出错报警功能: 全局异常,系统 500 错误发送钉钉消息.
- 遵循 RESTful API 设计规范
- 支持 Swagger 文档(基于 swaggo)
- 支持 OAuth2.0 协议.
- 密码采用 bcrypt 加密算法.
-
第三方登录支持:
- 微信
- 支付宝
- 钉钉
项目地址: https://github.com/iGeeky/open-account.
很抱歉项目才刚写了个 README, 后面一段时间会按优先级依次把相应的坑填上 希望大家多给 Star 鼓励一下.
如果有功能上的,或者实现上的建议也欢迎留言交流.