news 2026/7/14 17:48:44

【AI技能工具】——一句话生成完整的用户系统,登录鉴权、短信验证、资料管理全包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【AI技能工具】——一句话生成完整的用户系统,登录鉴权、短信验证、资料管理全包

哈罗大家好,我是【考拉搞AI】,十年老登转型全栈AI 的 全栈AI程序员。

上篇文章介绍了backend-generate-skill:一句话生成后端骨架,搞定选型、目录、配置、接口契约。

但骨架只是房子的框架,里面还没有人。绝大多数后端项目,第一个要写的业务模块都是同一个——用户系统:注册、登录、JWT 鉴权、短信验证码、找回密码、个人资料。

接下来,我将继续结合我的亲身实战经验,将这座大厦所有需要的部件拆解揉碎,然后像搭积木一样,将具体的业务模块一个个拼接上去。从专业角度上将这叫做业务拆分解耦。

熟悉后端的童鞋们都知道,后端存在着多个耳熟能详的业务模块,比如一套电商系统,就会拆成用户系统订单系统商品系统购物车系统物流系统促销系统以及短信&消息系统等等,每个系统之间相互独立却又密不可分,彼此可以通过消息系统来对接,既达到了解耦大大提升了系统性能,也能提高项目的可维护度。

AI 时代 我们需要拆分,而不是直接跟AI 说:“我要做一套淘宝商城系统,要XXX,给我搞定”。这样AI 必然会放飞自我,最终落地的东西必然是 “东拼西凑”“东一榔头西一棒槌”,即使能用,也需要大量的时间去维护完善,费时费力不讨好。

可是AI 时代,该怎么做业务拆分呢?

这就是今天的重头戏——从业务的角度将不同的模块划分,然后用标准的SKILL来完成用户&登录&鉴权模块的搭建

用户&登录&鉴权模块,基本就那些核心内容,特殊内容较少,那么我们就可以将其拆解揉碎,落地成SKILL,用标准的 规范让AI 生成。避免每次跟AI 拉扯,也避免AI 彻底放飞自我。

废话不多说,开干。

一、它做什么

auth-skill是一个用户系统生成器。一句话触发,产出四样东西:

  1. 领域模型与表结构 DDL:标准用户表、refresh token 表、第三方绑定表(按需裁剪);

  2. 接口契约增量:完整的接口文档,组合模式下追加进项目的api-contract.md,前端可以直接拿去对接;

  3. 可运行实现:Java / Go / Python / Node 四种技术栈任选,含短信发送、图形验证码、微信登录;

  4. 环境变量清单:JWT 密钥、阿里云短信、微信 appid 等,全部走 env,不写死在代码里。

覆盖的功能范围:

模块

内容

注册

开放注册 / 仅后台创建 / 邀请制,手机号唯一约束防重

登录

账号密码、短信验证码(默认阿里云)、uniapp 微信小程序(code→openid,可选解析手机号)、第三方 oauth

令牌

JWT access + refresh 双令牌,refresh 哈希存储 + 轮换 + 重放检测

密码找回

短信验证码重置,重置后吊销全部令牌强制重登

图形验证码

算术题 SVG,无第三方图片库依赖,作用于密码登录和发短信

资料管理

资料读写、凭旧密码改密(吊销其他设备)、换绑手机号(短信验证)、注销账号(二次确认)

用户 ID 默认自增 BIGINT,MongoDB 用默认 ObjectId;有防枚举、多实例需求时可选 UUIDv7 / 雪花 / 内外双 ID。

二、安装与使用

老地址 不用多说:

git地址https://github.com/jiushiwon/wg-skills/tree/main/module-generate-skill/auth-skill

一天一个SKILL——前端最佳自动化测试 webapp-testing

模式

场景

技术栈来源

组合模式

项目已有骨架(比如刚用 backend-generate-skill 生成过)

pom.xml/go.mod/package.json等自动检测,接口契约追加进已有的api-contract.md

独立模式

只要登录模块,还没有骨架

现场选型(规则与 backend-generate-skill 一致),生成最小可运行骨架 + 全新的api-contract.md

组合模式是它的主场:骨架生成完,接着说「加登录」,用户系统直接长在骨架上,信封、错误码、JWT 工具沿用已有规范,不重复生成。

三、生成前会问什么

技能不会替你瞎猜业务边界,生成前有一张确认清单,每项都有默认值:

  • 登录形态:常规 / uniapp 小程序 / 两者都要(默认常规)

  • 登录方式:账号密码 / 短信验证码(默认两者都要

  • 短信供应商:默认阿里云(Dysmsapi),密钥走 env

  • 图形验证码:默认关,勾选才开

  • 密码找回:默认开

  • 令牌模式:默认 access + refresh 双令牌(access 2h,refresh 30d 滑动续期)

  • uniapp 身份标识:仅 openid / 解析手机号(企业级),二选一必须确认

没有特殊要求的话一路默认就行,生成的就是一个标准的用户系统。

四、安全红线

这个SKILL的核心价值不在"省了多少代码",而在于把登录鉴权里容易踩的坑固化成了 16 条模块红线,生成即遵守:

  • 密码必须 bcrypt(cost ≥ 10),禁止 MD5/SHA 裸哈希、禁止明文;

  • 短信验证码用 CSPRNG 生成(禁random),6 位、5 分钟过期、一次性、60s 防重发、每日每号上限 10 次,按场景分键(登录和找回互不串用);

  • refresh token 不落明文:DB 只存 SHA-256 哈希,轮换时旧令牌立即作废,检测到重放可连带吊销该用户全部令牌;

  • 登录失败统一文案"账号或密码错误",禁止区分"用户不存在"与"密码错误"(防枚举),连续失败 5 次锁定 15 分钟;

  • 找回密码不泄露手机号是否已注册:未注册号同样占限流配额,统一返回成功,否则可凭响应差异枚举手机号;

  • JWT payload 只放 sub / jti / exp,不放角色权限等可变数据;

  • 微信登录:appid/secret 走环境变量,code→openid 走微信jscode2session,session_key 不落库、不下发前端,禁止前端传明文手机号冒充;

  • 所有密钥(JWT、阿里云 AccessKey、短信签名模板、微信密钥)一律走环境变量,禁止入库或硬编码。

这些规则每一条背后都是真实的事故类型。与其指望每次开发都记得,不如让生成器默认就是对的。

五、边界

SKILL好用的一半原因是它知道自己的边界:

  • 不实现权限系统。角色、权限、RBAC 一律不做,wg_user表不开任何权限列,只留一个「当前用户注入」的扩展点——权限交给下游的org-permission-skill。职责单一,才不会长成又一个什么都有、什么都改不动的用户中心。

  • 不实现 SSO / OAuth2 服务端。第三方登录只做客户端模式:后端拿前端传来的 code 向第三方换 openid。

  • 不复制已有规范。响应信封、错误码、JWT 工具由 backend-convention-skill 定义,本模块只引用不照抄。

六、使用示例

没有斜杠命令,不用记参数,自然语言触发:

帮我加一个用户系统(登录 + 注册 + 资料管理) 现有 FastAPI 项目里加手机号验证码登录,要双令牌 做一个 auth 模块,账号密码 + 短信登录,开图形验证码和密码找回 帮我做个 uniapp 微信小程序登录,要能解析手机号 加个人资料页:修改密码、换绑手机号、注销账号

交付标准是:可运行代码 +api-contract.md接口文档同时交付,缺一则视为未完成。生成的代码可以直接跑,接口文档可以直接给前端。

下面是实测案例,非常的奈斯高效(java为例):

最终结果,清晰可见、注释完整、规范标准,并且有数据库初始化文件,用起来非常的奈斯。

具体细节 和 其他 语言框架就不多介绍了,小伙伴们可以尝试下。

七、和其他 SKILL 的关系

auth-skill不是孤立的,它在整套后端 Skill 里的位置:

  • 上游依赖backend-convention-skill(规范)和database-skill(数据库选型);

  • 短信通道默认用内置的最小阿里云实现,检测到项目已接入notification-skill时委托给它,不重复实现;

  • 下游是org-permission-skill(权限)和ai-chat-skill(AI 对话),它们依赖本模块的用户表和当前用户注入。

骨架、用户、权限、通知、AI 对话,各管一段,按需组合。

八、小结

AI 时代,写前端项目很简单,写一个简单Demo后端项目也很简单,但是要前后端对接、合理选择语言与框架以及数据库设计就相对麻烦了。本SKILL 就是解决这类问题的,当然只是一个项目的第一步。

但千万不可小瞧这一第一步,对于复杂大型项目来说,一个安全稳定可靠的鉴权系统可是整个系统稳定和可靠的前提!

接下来我还会继续拆解具体的业务场景,比如 ERP 中权限组织架构模块、电商支付模块、消息中间件模块、日志模块、生产级链路追踪模块以及与AI对接模块等等,这些都根据博主自身多年的实战案例而研究得出,讲究的就是具有实际性和可用性,让小伙伴们VibeCoding开发大型项目的时候,不再是没做好业务拆分,导致 “一锅大杂烩”而无法维护!

对这些方面有需求的或者正常往这方面思考的童鞋们千万不要错过。

如果使用起来有问题或者对某个模块不清楚的欢迎评论,喜欢的童鞋点赞+关注,后续还会更多硬核实战内容分享!

一天一个 Skill——一句话生成后端骨架 Java/Python/Nodejs/Go + MySQL/MongoDB/PostgreSQL

【VibeCoding系列】从0 到1 全面用AI 手搓一个 uniapp 全栈小程序

一天一个SKILL——上下文溢出问题的解决妙招 实时计划文档 planning-with-files

一天一个SKILL——一句话生成uniapp小程序标准化骨架

Claude Code Hooks:六大案例从原理源码到工程级自动化落地(彻底根治 AI 编程失控)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 17:47:30

C盘老是提示空间不足?先排查这7类大文件占用,再对症清理

很多用户遇到 C 盘反复报警,第一反应是打开清理工具猛清一通缓存,结果腾出的空间没多久又被占满。真正的占用大头往往不在临时文件里,而是散落在桌面、下载目录、视频素材、系统镜像、聊天软件缓存和几年没打开过的旧软件里。与其反复清缓存&…

作者头像 李华
网站建设 2026/7/14 17:46:46

大模型混合推理架构:云端大模型与端侧小模型的协同调度策略

大模型混合推理架构:云端大模型与端侧小模型的协同调度策略 一、混合推理的核心命题 大模型推理面临一个现实困境:云端大模型能力虽强,但网络延迟可达200-800ms,且成本高昂;端侧小模型延迟低至10ms以内,但能…

作者头像 李华
网站建设 2026/7/14 17:46:14

星思半导体完成新一轮融资成超百亿独角兽,基带芯片技术优势助力卫星互联网产业化

星思半导体完成新一轮融资成超百亿独角兽星思半导体完成新一轮战略产业融资,引入了上海国资旗下信峘投资、福州鼓楼国投旗下朱紫坊创投、满帮集团、新华网创业投资、通鼎集团、伯清资本和晟荣资本;老股东朗润利方、纪源资本、翩玄基金持续加注。这是星思…

作者头像 李华