/** * ProvisionCodeCodec * * 自包含的 provisionCode 编解码器。 * provisionCode 编码了 SP 的信息(publicUrl、短期 serviceAccessToken)。 * CSS Account 创建只在资源锁外使用它准备 Local Pod;锁内只消费 * provision receipt,不再做远程 SP 回调。 * * 格式: base64url(JSON payload) + "." + base64url(HMAC-SHA256 signature) * 密钥: 从 baseUrl 派生,无需单独配置。 */ export interface ProvisionCodePayload { /** SP provisioning API 的回调地址;canonical storage identity 由 spDomain 决定。 */ spUrl: string; /** Cloud → SP 回调认证 token,旧格式兼容字段;新代码不应写入长期 serviceToken。 */ serviceToken?: string; /** Cloud → SP 回调认证的短期 access token。 */ serviceAccessToken?: string; /** serviceAccessToken 过期时间 (Unix timestamp, seconds)。 */ serviceAccessTokenExp?: number; /** Cloud 信令 API;Cloud 通过它发现并建立到 Local SP 的托管路由。 */ signalApiUrl?: string; /** 仅用于本次 provisioning 的 Cloud 信令短期 token。 */ routeAccessToken?: string; /** routeAccessToken 过期时间 (Unix timestamp, seconds)。 */ routeAccessTokenExp?: number; /** SP 节点 ID(可选,用于记录) */ nodeId?: string; /** Cloud 分配的子域名,如 "abc123.undefineds.site" */ spDomain?: string; /** 过期时间 (Unix timestamp, seconds) */ exp: number; } export declare class ProvisionCodeCodec { private readonly secret; /** * @param baseUrl — Cloud 的 baseUrl,用于派生签名密钥 */ constructor(baseUrl: string); /** * 编码 provisionCode */ encode(payload: ProvisionCodePayload): string; /** * 解码并验证 provisionCode * 返回 payload,过期或签名无效则返回 undefined */ decode(code: string | undefined | null): ProvisionCodePayload | undefined; private sign; }