认证方式
平台认证分为服务端访问认证和前端模型查看认证。长期应用凭证只能保留在业务服务端,不能嵌入网页、移动端包或公开仓库。
服务端访问认证
业务服务端使用 appId、appKey 和 appSecret 调用 POST /openapi/oauth/token 获取 accessToken,再调用模型管理、模型处理和数据服务接口。
const OPENAPI_BASE_URL = process.env.BIM_ENGINE_API_URL!;
const response = await fetch(`${OPENAPI_BASE_URL}/oauth/token`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ appId, appKey, appSecret })
});
const { accessToken } = await response.json();
appSecret 不得发送到浏览器。accessToken 也应由服务端保存、刷新和传递到后续服务端请求。
前端模型查看认证
浏览器使用服务端签发或转发的模型查看令牌加载 Viewer 内容:
import { BimEngine } from 'iflow-engine';
const viewer = new BimEngine('viewer');
await viewer.initialize();
await viewer.loadModelByViewToken('YOUR_VIEW_TOKEN');
2D、GIS、720 和 Gaussian 入口同样支持 loadModelByViewToken(),但必须先按各自的初始化方式创建实例。具体构造参数和示例分别见对应的引擎页面;不要复制未实例化对象的单行调用。
import { BimEngine2d } from 'iflow-engine';
const drawing = new BimEngine2d('drawing-viewer');
await drawing.ready;
await drawing.loadModelByViewToken('YOUR_VIEW_TOKEN');
具体的凭证申请、令牌请求地址、有效期、刷新规则和响应字段以后端开放接口定义为准。模型查看令牌同样属于访问凭证,应限制分发范围和有效期。