小程序能力
小程序能力分为两部分:控制台中的版本构建与兼容性报告,以及运行时使用的会话接口。
- 构建、报告和安装包下载属于控制台操作,使用控制台 Access Token。
- 运行时会话属于公开 API,使用应用凭证签名。
构建上传建议在服务端完成,并在任务状态变为 SUCCEEDED 后再向用户发布版本。不要把构建凭证或应用 Secret 放入小程序包。
运行时换码流程
小程序运行时的核心是**一次性登录码(login code)**的签发与换取,涉及两个角色和两个接口:
蓝答客户端(已登录的用户)
│ POST /api/miniapp/login (用户态鉴权 + X-Tenant-Id)
▼
服务端签发的 code(Redis,有效期 120 秒,一次性)
│ 小程序把 code 交给你的业务服务端
▼
你的业务服务端
│ POST /api/open/v2/miniapp/session (应用签名 V2)
▼
换取身份:{appId, userId, tenantId, sessionId}
1. 签发 code(蓝答客户端调用)
POST https://im.lanchr.com/api/miniapp/login
X-Tenant-Id: <租户ID>
Authorization: <蓝答用户登录态>
{"appId": "app_43e19f98e5584c51925d08fc", "sessionId": "<业务会话ID>"}
- 该接口使用蓝答用户登录态鉴权,不是应用签名;还会校验
appId对应的应用必须是MINIAPP类型且处于ACTIVE。 - 响应
{"code":"<一次性登录码>"}。code有效期 120 秒,只能使用一次(换取成功后立即失效)。
2. 换取身份(业务服务端调用)
POST https://im.lanchr.com/api/open/v2/miniapp/session
Content-Type: application/json
X-Open-App-Id: <app-id>
X-Open-Credential-Id: <credential-id>
X-Open-Timestamp: <timestamp-ms>
X-Open-Nonce: <unique-nonce>
X-Open-Signature: <hmac-sha256>
{"code": "<一次性登录码>"}
- 使用应用签名 V2,该接口不需要 Scope。
- 成功响应
value为{appId, userId, tenantId, sessionId}。 code无效、过期或已使用时返回403+400008(服务端以SecurityException拒绝)。
运行时字段请以 小程序 API V2 为准。