SuperAPI AI 工具集

embedded-patterns

编程与开发

查看项目

更新于 11-11 16:19

技能介绍

embedded-patterns 是 Prismatic 官方发布的参考文档型技能,目标读者是希望把 Prismatic 的集成市场和工作流构建器直接嵌入到自己面向客户的 Web 应用中的开发者。通过嵌入,最终用户无需离开你的应用即可管理和配置集成。

一、用途与核心流程 文档描述的嵌入流程分为四步:

  1. 你的后端生成一个短期有效的签名 JWT(有效期 10 分钟),用于认证客户用户;
  2. 前端调用 prismatic.authenticate({ token }) 传入该 JWT;
  3. 前端调用 prismatic.showMarketplace()、prismatic.showWorkflows() 或其他屏幕方法渲染嵌入式 iframe;
  4. 在 JWT 过期前,前端重新从后端获取新 JWT 并再次调用 authenticate,已有 iframe 会自动更新。 文档强调一条关键安全规则:JWT 必须由后端使用私钥签名,绝不能把私钥暴露到前端;前端只从后端 API 端点接收已签名的 JWT 字符串。

二、签名密钥 嵌入前组织需要先有签名密钥。文档给出 prism CLI 命令:列出密钥(prism organization:signing-keys:list --extended --output json)、生成密钥对(prism organization:signing-keys:generate),或导入自建 OpenSSL 密钥(openssl genrsa / openssl rsa -pubout,再执行 prism organization:signing-keys:import -p my-public-key.pub)。私钥仅在生成时展示一次,需要安全保存;Prismatic 只保存公钥最后 8 个字符用于识别。

三、SDK 使用方式 安装命令为 npm install @prismatic-io/embedded。典型用法:应用启动时调用一次 prismatic.init(),从自有后端接口获取 token 后调用 prismatic.authenticate({ token }),再调用 prismatic.showMarketplace({ selector: "#integrations-div", usePopover: false })。文档列出完整方法:init、authenticate、showMarketplace、showWorkflows、showWorkflow、createWorkflow、queryWorkflows、showDashboard、showConnections、showLogs、showComponents、showComponent、configureInstance、editInstanceConfiguration、setConfigVars、graphqlRequest。

四、JWT 声明 必需声明包括 sub(用户唯一 ID)、organization(Prismatic 组织 ID)、customer(内部客户/租户 ID)、iat(建议 currentTime - 5 以缓冲时钟偏差)、exp(建议 currentTime + 600);可选声明有 external_id、name、customer_name、role(ULC 场景下 admin 或 user,默认 admin)。文档特别提示 organization 和 customer 不是标准 JWT 声明,最容易被遗漏,必须显式设置。

五、适用场景 适用于需要为客户提供内嵌式集成管理界面的 SaaS 产品:将集成市场、工作流列表与构建器、仪表盘、连接管理、日志、组件浏览等界面嵌入自有应用;也可通过工作流上下文(context)创建预配置工作流,作为应用内自动化的入口;还支持通过 GraphQL 构建完全自定义的市场 UI。

六、限制与注意事项 文档仅提供参考与示例,未说明收费、价格或性能指标;JWT 生命周期需自行实现续期定时器(建议在过期前约 1 分钟刷新);渲染依赖 iframe 与 selector 定位;主题、国际化、筛选、事件等细节需按需查阅对应参考资料文件。