切换主题
2. 创建应用与开发身份
开始前: 第 1 步底座已启动,后台示例已配置公开 Maven 仓库。本步目标: 创建一个隔离应用并备齐后台和浏览器使用的凭据。
为什么分成三类凭据
| 使用者 | 使用什么 | 用途与去向 |
|---|---|---|
| 初始化命令 | PLATFORM_ADMIN | 一次性建应用、签发开发身份;只在初始化终端 |
| 后台注册 / 发布 | APP_ADMIN | 声明模型、智能体、工具和知识;保留在后台 |
| 后台聊天代理 | USER | 底座验证用户与租户,读写该用户的会话 |
| 教程浏览器 | 本地业务登录令牌 | 后台验证后生成 tutorial-user Principal;不等于平台 USER 令牌 |
应用 tutorial 是固定作用域标识,不是权限证明。这里用一个受控本地用户帮助你完成接入,正式身份在第 7 步替换为现有登录体系。
运行独立初始化命令
新开终端,在 tutorial/backend 目录执行:
powershell
& '..\scripts\use-env.ps1' '..\.local\platform.env'
.\gradlew.bat initialize
Remove-Item Env:SPARKTIDE_ADMIN_TOKENInitialize.java 通过 ApplicationBootstrap.create("tutorial", ...) 创建应用。当前 SDK 尚未提供用户令牌签发方法,所以这一个受控初始化命令调用底座凭据 API,生成应用 APP_ADMIN 和 tutorial-user / tutorial-tenant 的 USER 凭据。业务运行与前端不需要额外封装此 API。
凭据写入 .local/business.env,不会输出在控制台。USER 有效期为 1 小时,应用管理凭据为 1 天;教程浏览器使用的令牌已在第 1 步生成。
检查点
命令输出“应用及凭据就绪”,Gradle 构建成功。下一步在新的后台终端只加载 business.env,不加载 platform.env。
常见中断
| 现象 | 处理 |
|---|---|
| 连接拒绝 | 回到第 1 步检查底座端口和健康状态 |
| 401 / 403 | 核对初始化终端加载的是当前底座的管理员凭据 |
| 创建应用 409 | tutorial 已存在;不要删除旧数据或重复创建 |
| 初始化在创建应用后中断 | 应用已存在时执行下方 credentials 任务补齐凭据 |
| 一小时后聊天失败 | 在受控管理员终端执行 credentials,后台重新加载新 env 并重启 |
仅当应用已经存在,刷新或补齐本地凭据:
powershell
# 仍在 tutorial/backend;这是独立初始化终端
& '..\scripts\use-env.ps1' '..\.local\platform.env'
.\gradlew.bat credentials
Remove-Item Env:SPARKTIDE_ADMIN_TOKEN凭据不会在普通聊天请求中自动签发。正式系统的 OIDC / 预登记用户方案见业务身份与权限。
