从0搭建AI应用/智能体后端 (一): 3分钟实现短信验证码登录

0 阅读4分钟

“你的AI应用/智能体要赚钱,第一步是什么?——知道谁在付钱。没有用户登录,你连用户是谁都不知道,商业化无从谈起。”

本章我们用即调平台(jidiao.fun),从0开始,3分钟搭建支持短信验证码登录的用户系统。

第一步:开通用户中心

在即调工作台,点击‘项目管理’,选择‘用户中心-登录方式’——一键开通,0代码,0部署。

(会员权益中包含Mysql和Redis共享数据源)

第二步:配置登录方式

在即调工作台,点击‘项目管理’,选择‘用户中心-登录方式’——添加登录方式。

(这里我使用的极光平台)

  • 唯一标识:用于匹配不同的登录配置。
  • App Key:极光平台为每个应用生成一个唯一的app key。
  • Master Secret:极光平台为每个app key生成一个master secret。
  • 签名ID:在极光平台编写的短信内容,如您的验证码:{code}等等。
  • 模板ID:在极光平台匹配的短信模板,如[即调]、[XX科技]等。
  • 登录组:使用此唯一标识进行登录的用户默认所属群组。
  • 登录模式:
    • 登录即注册:首次使用该登录方式登录时,如果用户不存在,系统将自动创建账号并直接完成登录,无需额外注册步骤。

    • 登录需注册:首次登录时,验证通过后不会直接登录,而是引导用户进入注册页面,补充必要信息(如昵称、密码等),由管理员审批通过后正式创建账号,才能正常登录。

第三步:我们认识一下用户中心

在即调工作台,点击‘用户中心’。

(用户中心开通后,会在工作台下面显示出用户中心的展示卡)

  • 用户管理:对用户进行全生命周期管理,包括用户列表查看、详情查询、状态变更(启用/禁用)、信息编辑等操作和注册申请审批、注销申请审批、用户信息采集列表等。
  • 分组管理:将用户按业务维度划分到不同组别,支持批量授权、数据隔离或统一策略下发。
  • 角色管理:定义抽象的角色实体(如管理员、普通用户),为角色赋予一组权限,再将用户分配到角色,实现权限的批量继承和动态调整。
  • 权限管理:定义系统内的具体操作权限(如接口访问、页面查看、按钮点击),支持细粒度配置,并可关联至角色,构建完整的权限控制体系。

第四步:短信验证登录的实现

如图所示:

要实现短信验证码登录需要使用两个接口:

  • 短信验证码发码
  • 短信验证码登录

1. 短信验证码发码

{
    // 全局变量
    "variable": {
        "secret": ""
    },

    // 配置调用工作流的参数
    "trigger": {
        "type": "api",
        "method": "POST",
        "path": "/wf/v1/exec/smsSend",
        "body": {
            "mobile": "{{request.body.mobile}}"
        }
    },

    // 业务处理流程,可选择更多的功能节点加入到此流程中。
    "nodes": [
        {
            "id": "node_01",
            "type": "HTTP",
            "name": "[极光]短信验证码发码",
            "nextNode": "end_01",
            "buildIn": true,
            "api": {
                "url": "/uc/v1/jiguang/{唯一标识}/smsSend",
                "method": "post"
            },
            "body": {
                "mobile": "{{trigger.body.mobile}}",
                "tag": "login"
            }
        },
        {
            "id": "end_01",
            "type": "END",
            "name": "结束",
            "output": "{{node_01.output.body.data}}"
        }
    ]
}
  1. 短信验证码登录
{
    // 全局变量
    "variable": {
        "secret": ""
    },

    // 配置调用工作流的参数
    "trigger": {
        "type": "api",
        "method": "POST",
        "path": "/wf/v1/exec/smsLogin",
        "body": {
            "mobile": "{{request.body.mobile}}",
            "code": "{{request.body.code}}"
        }
    },

    // 业务处理流程,可选择更多的功能节点加入到此流程中。
    "nodes": [
        {
            "id": "node_01",
            "type": "HTTP",
            "name": "[极光]短信验证码登录",
            "nextNode": "end_01",
            "buildIn": true,
            "api": {
                "url": "/uc/v1/jiguang/{唯一标识}/smsLogin",
                "method": "post"
            },
            "body": {
                "mobile": "{{trigger.body.mobile}}",
                "code": "{{trigger.body.code}}"
            }
        },
        {
            "id": "end_01",
            "type": "END",
            "name": "结束",
            "output": {
                "accessToken": "{{node_01.output.body.data.accessToken}}",
                "refreshToken": "{{node_01.output.body.data.refreshToken}}"
            }
        }
    ]
}

3. 使用Postman 验证工作流

4. 调用日志

到此,我们已经拥有了完整的用户系统、登录能力、域名管理、SSL证书和自动延期,以及调用即记录的审计日志。

最后的话

你的AI应用/智能体,核心价值是那个聪明的Prompt、那个独特的场景、那个好用的交互。

而不是用户登录、支付集成、订单管理、计费逻辑这些每个智能体都要有的基础设施

做你擅长的事——让智能体更聪明,让体验更好,让用户更满意。

立即体验:(即调)www.jidiao.fun

微信客服1对1全程服务