ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

NocoBase 集成指南:API 密钥、SSO、工作流、外部数据源与嵌入式内容实战解析

NocoBase 集成指南:API 密钥、SSO、工作流、外部数据源与嵌入式内容实战解析 NocoBase 集成指南API 密钥、SSO、工作流、外部数据源与嵌入式内容实战解析【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobaseNocoBase 是一个数据模型驱动的开源 AI 无代码平台其集成能力覆盖 API 对接、单点登录SSO、工作流自动化、外部数据源接入与页面嵌入五大通道。本文以 集成概述 为骨架逐层拆解每类集成方式的概念、配置步骤、调用方式与安全实践并结合仓库源码与配套文档帮助你在真实项目中快速选型并落地 NocoBase 与外部系统、第三方服务和异构数据源的互联互通。集成全景NocoBase 的五大集成通道NocoBase 提供全面的集成能力允许与外部系统、第三方服务和各种数据源无缝连接。从整体架构上看集成能力被组织为五个相互独立的通道分别解决程序化访问、统一认证、流程自动化、数据打通和界面嵌入五类问题集成通道核心能力主要组件/文档API 集成以编程方式安全访问 NocoBase 资源API 密钥、API 文档单点登录SSO与企业身份系统统一认证SSO 集成SAML/OIDC/CAS/LDAP/企业微信/钉钉工作流集成与外部系统双向触发与调用工作流 Webhook、工作流 HTTP 请求外部数据源连接异构数据库与数据系统外部数据库、FDW 连接外部数据表嵌入式内容在页面中嵌入或对外嵌入Iframe 区块、嵌入 NocoBase下文将按照认证 → 数据 → 流程 → 界面的主线逐一展开每一类集成的完整配置与调用细节。API 集成用密钥与接口文档打通外部应用API 集成是 NocoBase 对外提供能力的基石。任何 Web 应用、移动端、脚本或自动化任务都可以通过 HTTP 接口访问 NocoBase 中的数据与资源而认证与文档则是这一通道的两个必备环节。API 密钥Bearer Token 认证机制API 密钥是一种安全令牌用于验证来自授权用户的 API 请求。它作为凭据在通过 Web 应用程序、移动应用或后端脚本访问 NocoBase 系统时验证请求者的身份。在 HTTP 请求头中的格式为Authorization: Bearer {API 密钥}Bearer 前缀表示后面跟随的是用于验证请求者权限的已认证 API 密钥。从 usage 教程 中给出的密钥样例可以看出NocoBase 生成的 API 密钥实际是 JWTJSON Web Token格式其载荷中携带userId、roleName、iat签发时间、exp过期时间等信息由服务端使用APP_KEY环境变量签名。添加 API 密钥进入https://example.com/admin/settings/api-keys页面即可管理 API 密钥操作要点如下添加的 API 密钥归属于当前用户其角色为当前用户所属角色请确保已经配置了APP_KEY环境变量并保证不泄露。如果APP_KEY变更所有已添加的 API 密钥都会失效密钥的有效期由创建时配置的过期设置决定密钥生成后仅显示一次出于安全原因不会再次展示需立即复制并妥善存储。如何配置 APP_KEYDocker 版本修改docker-compose.yml文件在app服务的environment中新增环境变量services: app: image: nocobase/nocobase:main environment: - APP_KEY4jAokvLKTJgM0v_JseUkJ源码或 create-nocobase-app 安装直接修改项目根目录.env文件的APP_KEY即可APP_KEY4jAokvLKTJgM0v_JseUkJ源码实现佐证API 密钥并非独立的认证体系而是叠加在 NocoBase 认证框架之上的插件。从仓库源码结构看其服务端实现位于 packages/plugins/nocobase/plugin-api-keys/src/server/plugin.ts并提供了命令行工具 generate.ts 用于生成密钥服务端的鉴权行为由 server/tests/actions.test.ts 等测试用例覆盖客户端配置页面则在src/client-v2/pages/ApiKeysPage.tsx。这印证了密钥绑定用户角色、请求权限由角色决定的设计API 请求通过密钥解析出对应用户再走与 Web 登录一致的 ACL 权限判定。实战待办事项 API 完整流程参考 API 密钥使用教程一个完整的 API 集成落地包含以下步骤启用插件确保已启用内置的认证API 密钥插件启用后系统设置中将出现 API 密钥配置页面。创建数据表创建名为todos的数据表包含id、标题title、是否完成completed字段并添加示例记录。创建并分配角色由于 API 密钥绑定到用户角色需先创建角色如待办 API 角色并授予对todos数据表的访问权限再把该角色分配给当前用户或创建专用 API 用户。生成密钥在 API 密钥管理页面点击添加 API 密钥选择角色后提交系统展示一次新密钥。调用 CRUD 接口NocoBase 提供标准的 CRUD 端点以todos为例# 列表查询 GET http://localhost:13000/api/todos:list Authorization: Bearer API密钥 # 新增记录 POST http://localhost:13000/api/todos:create Authorization: Bearer API密钥 { title: 123 } # 修改记录 POST http://localhost:13000/api/todos:update?filterByTk{id} Authorization: Bearer API密钥 { title: 123, completed: true } # 删除记录 POST http://localhost:13000/api/todos:destroy?filterByTk{id} Authorization: Bearer API密钥其中{baseURL}为 NocoBase 系统地址{collectionName}为数据表名称。使用 Postman 测试时在 Headers 中填写Authorization: Bearer API密钥即可成功响应返回data数组与meta分页信息count、page、pageSize、totalPage。若密钥无效或过期将返回{ errors: [ { message: Your session has expired. Please sign in again., code: INVALID_TOKEN } ] }对应的 cURL 命令为curl --location http://localhost:13000/api/todos:list \ --header Authorization: Bearer API密钥在 JS 区块中调用NocoBase 2.0 支持在页面中使用 JS 区块编写原生 JavaScript。可通过ctx.requireAsync()动态加载 axios 等库再携带 Bearer 密钥请求 APIasync function fetchTodos() { try { ctx.message.loading(正在获取数据...); const axios await ctx.requireAsync(https://cdn.jsdelivr.net/npm/axios1.6.0/dist/axios.min.js); const apiKey 你的API密钥; const response await axios.get(http://localhost:13000/api/todos:list, { headers: { Authorization: Bearer ${apiKey} } }); ctx.message.success(成功获取 ${response.data.data.length} 条数据); } catch (error) { ctx.message.error(获取数据失败: error.message); } } fetchTodos();关键 API 包括ctx.requireAsync()动态加载外部库、ctx.message显示加载/成功/错误通知、在Authorization头中以Bearer前缀传递密钥。API 文档基于 Swagger 的接口探索与测试API 文档插件基于 Swagger 生成 NocoBase 的 HTTP API 文档属于内置插件无需安装激活即可使用。访问与文档分层访问地址为http://localhost:13000/admin/settings/api-doc/documentation。文档按命名空间ns分层组织可通过不同 URL 查看总 API 文档/api/swagger:get内核 API 文档/api/swagger:get?nscore所有插件 API 文档/api/swagger:get?nsplugins每个插件的文档/api/swagger:get?nsplugins/{name}用户自定义 collections 的 API 文档/api/swagger:get?nscollections指定${collection}及相关${collection}.${association}资源/api/swagger:get?nscollections/{name}借助该文档开发者可以查看每个 API 端点的请求方法、URL、参数和请求头并直接在线测试——这也是上一节验证 API 密钥认证最便捷的方式之一。为插件编写 Swagger 文档插件开发者可以在插件src文件夹中新建swagger/index.ts为插件声明接口文档export default { info: { title: NocoBase API - Auth plugin, }, tags: [], paths: {}, components: { schemas: {}, }, };详细编写规则遵循 OpenAPI/Swagger 规范如paths定义端点、components.schemas定义数据结构。单点登录SSO与企业身份系统统一认证单点登录允许用户使用一组凭据登录多个相关但独立的系统用户只需登录一次即可访问所有授权的应用程序无需重复输入用户名和密码。NocoBase 通过插件方式提供完整的 SSO 解决方案可与企业现有的身份认证系统无缝集成。支持的认证协议与平台类别协议/方式适用场景企业级协议SAML 2.0基于 XML 的开放标准广泛用于企业级身份认证适合与 IdP 集成企业级协议OIDCOpenID Connect基于 OAuth 2.0 的身份认证层可与 Google、Azure AD 等主流 IdP 集成企业级协议CAS耶鲁大学开发的 SSO 协议广泛用于高校和教育机构企业级协议LDAP轻量级目录访问协议适合与 Active Directory 等目录服务集成第三方平台企业微信企业微信扫码登录与企业微信内免登第三方平台钉钉钉钉扫码登录与钉钉内免登其他方式短信验证码基于手机短信的验证码登录其他方式用户名密码NocoBase 内置的基础认证方式注意大部分 SSO 认证插件需要单独购买或订阅。集成四步走安装认证插件进入插件管理器找到并安装所需的认证插件如 SAML 2.0、OIDC 认证插件。配置认证方式进入系统设置 用户认证页面 → 点击添加认证方式 → 选择已安装的认证类型如 SAML 或 OIDC→ 根据提示配置相关参数。配置身份提供商每种协议所需的 IdP 信息不同SAML配置 IdP 元数据、证书等OIDC配置 Client ID、Client Secret、发现端点Discovery Endpoint等CAS配置 CAS 服务器地址LDAP配置 LDAP 服务器地址、绑定 DN 等企业微信/钉钉配置应用凭证、Corp ID 等。测试登录退出当前登录 → 在登录页面选择配置的 SSO 方式 → 完成身份提供商的认证流程 → 验证能否成功登录 NocoBase。用户映射与角色分配SSO 认证成功后NocoBase 会自动处理用户账号首次登录自动创建新用户账号并从身份提供商同步基本信息昵称、邮箱等再次登录使用现有账号登录可选择是否同步更新用户信息角色分配可配置默认角色或通过用户信息中的角色字段自动分配角色。同时NocoBase 支持同时配置多种认证方式用户可以在登录页面选择合适的方式登录。SSO 安全建议确保 NocoBase 部署在 HTTPS 环境下保护认证数据传输安全及时更新和轮换 SAML 证书等安全凭据在身份提供商处正确配置 NocoBase 的回调地址并配置回调地址白名单为 SSO 用户分配合适的角色和权限最小权限原则记录和监控 SSO 登录行为日志审计。工作流集成Webhook 入站与 HTTP 请求出站工作流集成让 NocoBase 与外部系统形成双向的自动化闭环Webhook 触发器负责接收外部事件入站HTTP 请求节点负责主动调用外部 API出站二者功能互补共同构建完整的系统集成方案。工作流 Webhook接收外部事件触发自动化Webhook 是一种反向 API机制允许外部系统在特定事件发生时主动向 NocoBase 发送数据。相比主动轮询Webhook 提供更实时、更高效的集成方式。典型应用场景表单数据提交外部问卷、报名表单、客户反馈表单在提交后通过 Webhook 推送数据到 NocoBase自动创建记录并触发后续处理发送确认邮件、分配任务等消息通知企业微信、钉钉、Slack 等平台的事件新消息、提醒、审批完成触发 NocoBase 自动化处理数据同步CRM、ERP 等系统数据变化时实时推送到 NocoBase第三方服务GitHub 代码推送/PR 创建、GitLab CI/CD 状态通知、物联网设备状态上报等。功能特点支持 GET、POST、PUT、DELETE 等 HTTP 方法自动解析 JSON、表单数据等常见格式可配置请求验证确保来源可信接收的数据可在工作流中作为变量使用支持复杂的数据转换与组合逻辑支持签名验证、IP 白名单、HTTPS 加密传输。使用步骤安装插件在插件管理器中安装工作流Webhook 触发器插件。注意该插件为商业插件需要单独购买或订阅。创建 Webhook 工作流进入工作流管理页面 → 点击创建工作流 → 选择Webhook 触发器作为触发方式 → 配置参数请求路径自定义 Webhook URL 路径请求方法选择允许的 HTTP 方法GET/POST/PUT/DELETE同步/异步选择是否等待工作流执行完成后返回结果验证方式配置签名验证或其他安全机制。配置工作流节点可添加数据表操作创建/更新/删除、条件判断、HTTP 请求、消息通知、自定义代码等节点。获取 Webhook URL工作流创建后生成唯一的 Webhook URL格式通常为https://your-nocobase-domain.com/api/webhooks/your-workflow-key在第三方系统中配置将 Webhook URL 配置到表单系统的提交回调、GitHub/GitLab 的 Webhook 或企业微信/钉钉的事件推送地址。测试 Webhookcurl -X POST https://your-nocobase-domain.com/api/webhooks/your-workflow-key \ -H Content-Type: application/json \ -d {event:test,data:{message:Hello NocoBase}}请求数据访问在工作流中可通过变量访问 Webhook 接收的数据{{$context.data}}请求体数据{{$context.headers}}请求头信息{{$context.query}}URL 查询参数{{$context.params}}路径参数响应配置同步模式工作流执行完成后返回结果可配置响应状态码200、201 等、响应数据自定义 JSON、响应头异步模式立即返回确认响应工作流在后台执行适用于长时间运行的工作流、无需返回执行结果的场景及高并发场景。安全最佳实践启用签名验证以 GitHub Webhook 为例可在工作流中校验x-hub-signature-256头const crypto require(crypto); const signature context.headers[x-hub-signature-256]; const payload JSON.stringify(context.data); const secret your-webhook-secret; const expectedSignature sha256 crypto .createHmac(sha256, secret) .update(payload) .digest(hex); if (signature ! expectedSignature) { throw new Error(Invalid signature); }使用 HTTPS保护数据传输限制请求来源配置 IP 白名单只允许可信来源数据验证在工作流中添加校验逻辑确保数据格式正确、内容合法日志审计记录所有 Webhook 请求便于追踪排查。常见问题与优化Webhook 没有触发检查 Webhook URL 是否正确、工作流状态是否为已启用、第三方发送日志及防火墙/网络配置如何调试查看工作流执行记录使用 Webhook.site 等工具验证请求重试处理确保工作流具备幂等性使用唯一标识符去重记录已处理的请求 ID性能优化使用异步模式处理耗时操作添加条件判断过滤无关请求高并发场景可引入消息队列。工作流 HTTP 请求主动调用外部 APIHTTP 请求节点是工作流中的核心集成组件允许在工作流执行过程中调用第三方 API、内部服务接口或其他 Web 服务获取数据或触发外部操作。典型应用场景数据获取天气/汇率等第三方数据查询、地图服务地址解析、CRM/ERP 企业数据同步业务触发短信/邮件/企业微信消息推送、支付网关支付与退款、物流系统运单提交与状态查询系统集成微服务调用、数据上报到分析平台、集成 AI 服务/OCR/语音合成自动化操作定时同步外部 API 数据、数据变化时通知外部系统、调用审批系统 API。功能特点支持 GET、POST、PUT、PATCH、DELETE 等所有 HTTP 方法支持自定义请求头Headers支持 JSON、表单数据、XML 等多种数据格式支持 URL 参数、路径参数、请求体等多种传参方式支持变量引用、JSON 响应解析、数据转换、重试策略与超时设置认证方式覆盖 Basic Auth、Bearer Token、API Key、自定义 Headers。配置请求参数基本配置请求 URL目标 API 地址支持使用变量例如https://api.example.com/users/{{$context.userId}}请求方法GET、POST、PUT、DELETE 等请求头例如{ Content-Type: application/json, Authorization: Bearer {{$context.apiKey}} }请求参数Query 参数URL 查询参数与 Body 参数POST/PUT 请求体。高级配置超时时间默认 30 秒失败重试配置重试次数和重试间隔忽略失败请求失败时工作流继续执行代理设置按需配置 HTTP 代理。使用响应数据HTTP 请求节点执行后响应数据可在后续节点中使用{{$node.data.status}}HTTP 状态码{{$node.data.headers}}响应头{{$node.data.data}}响应体数据{{$node.data.error}}错误信息如果请求失败认证方式速查// Basic Authentication Headers: Authorization: Basic base64(username:password) // Bearer Token Headers: Authorization: Bearer your-access-token // API KeyHeader 或 Query Headers: X-API-Key: your-api-key Query Parameters: api_key: your-api-key // OAuth 2.0先获取 access_token 再使用 Headers: Authorization: Bearer {{$context.accessToken}}典型示例查询支付状态// 配置 URL: https://api.payment.com/v1/orders/{{$context.orderId}}/status Method: GET Headers: Authorization: Bearer {{$context.apiKey}} Content-Type: application/json // 条件判断 如果 {{$node.data.data.status}} 等于 paid - 更新订单状态为已支付 - 发送支付成功通知 否则如果 {{$node.data.data.status}} 等于 pending - 保持订单状态为待支付 否则 - 记录支付失败日志 - 通知管理员处理异常错误处理与调试常见错误包括连接超时检查网络、增加超时时间、401 未授权检查认证信息、404 未找到检查 URL、500 服务器错误查看 API 提供方状态。调试技巧在 HTTP 请求前后添加日志节点、查看工作流执行日志、先用 Postman/cURL 验证 API并用条件判断处理不同响应状态如果 {{$node.data.status}} 200 且 {{$node.data.status}} 300 - 处理成功逻辑 否则 - 处理失败逻辑 - 记录错误: {{$node.data.error}}与 Webhook 的对比特性HTTP 请求节点Webhook 触发器方向NocoBase 主动调用外部外部主动调用 NocoBase时机工作流执行时外部事件发生时用途获取数据、触发外部操作接收外部通知、事件典型场景调用支付接口、查询天气支付回调、消息通知外部数据源连接异构数据库与数据系统NocoBase 是数据模型驱动的平台其数据源既可以是主数据库本身也可以是各类外部数据库、APISDK平台和文件。需要特别区分两种概念连接数据源与特定数据库或 API 服务建立连接可以完整使用数据库的特性或 API 提供的服务连接外部数据表FDW从外部获取数据并映射到本地使用在数据库里叫 FDWForeign Data Wrapper侧重于将远程表当作本地表使用只能一张一张表地连接且因远程访问存在各种约束和局限。二者也可以配合使用前者用于建立与数据源的连接后者用于跨数据源访问例如某个 PostgreSQL 数据源中存在基于 FDW 创建的外部数据表。支持的数据源类型根据 数据源概述NocoBase 通过数据源管理插件 各数据源插件组合的方式目前支持主数据源NocoBase 主数据库支持 PostgreSQL、MySQL、MariaDB、KingbaseES、OceanBase外部数据库PostgreSQL、MySQL、MariaDB、MSSQL、KingbaseES、Oracle、ClickHouse、Doris 等REST API 数据源把第三方系统的 REST API 映射为数据源外部 NocoBase 数据源连接另一个 NocoBase 应用中的数据表。数据源管理插件提供所有数据源的管理界面本身并不提供接入能力需要和各种数据源插件搭配使用。接入后即可识别外部数据库表结构在 NocoBase 中直接对外部数据进行增删改查操作并拥有统一的数据管理界面。连接外部数据表FDWFDW 功能目前支持 MySQL 和 PostgreSQL 两类数据库MySQL通过federated引擎实现需要先激活支持连接远程 MySQL 及其协议兼容数据库如 MariaDBPostgreSQL通过不同类型的 fdw 扩展支持不同远程数据类型目前支持postgres_fdw连接远程 PostgreSQL和mysql_fdw连接远程 MySQL其余类型的 fdw 扩展接入 NocoBase 需要在代码中实现相应的适配接口。前提条件MySQL 启用 federated 引擎MySQL 默认未开启 federated 模块需要修改my.cnf配置Docker 版本可通过 volumes 处理扩展mysql: image: mysql:8.1.0 volumes: - ./storage/mysql-conf:/etc/mysql/conf.d environment: MYSQL_DATABASE: nocobase MYSQL_USER: nocobase MYSQL_PASSWORD: nocobase MYSQL_ROOT_PASSWORD: nocobase restart: always networks: - nocobase新建./storage/mysql-conf/federated.cnf文件[mysqld] federated重启 mysql 后通过 SQL 验证是否激活docker compose up -d mysqlshow enginesfederated出现在引擎列表中即表示激活成功。使用手册在插件管理器中安装并激活插件PostgreSQL 主数据库场景同样需要安装激活相应插件进入「数据表管理 创建数据表」下拉选择「连接外部数据」在「数据库服务」下拉中选择已存在的数据库服务或点击「创建数据库服务」新建选择数据库服务后在「远程表」下拉中选择需要连接的数据表配置字段信息若远程表结构发生变化可通过「从远程表同步」更新字段完成后即可在界面中像普通数据表一样使用远程数据。提示FDW 数据表以远程访问方式工作使用时需注意跨库访问带来的性能与约束限制详见 FDW 文档。嵌入式内容Iframe 区块与 Embed 插件Iframe 区块在 NocoBase 页面中嵌入外部内容Iframe 区块内置插件无需安装允许将外部网页或内容嵌入当前页面可通过配置 URL 或直接插入 HTML 代码将外部应用集成到页面中无需跳转即可加载外部资源特别适合定制化展示场景。模板引擎字符串模板默认的模板引擎Handlebars可切换使用 Handlebars 模板引擎进行更灵活的模板渲染。传入变量HTML 支持变量解析既可以从变量选择器中选择当前区块上下文的变量也可以通过代码向应用注入自定义变量并在 HTML 中使用。例如使用 Vue 3 Element Plus 创建一个动态日历应用通过 CDN 引入依赖provide注入变量!doctype html html langzh head meta charsetUTF-8 / meta nameviewport contentwidthdevice-width, initial-scale1.0 / titleVue3 CDN Example/title script srchttps://cdn.bootcdn.net/ajax/libs/vue/3.5.9/vue.global.prod.js/script script srchttps://unpkg.com/element-plus/script script srchttps://unpkg.com/element-plus/dist/locale/zh-cn/script link relstylesheet hrefhttps://unpkg.com/element-plus/dist/index.css / /head body div idapp el-container el-main el-calendar v-modelmonth div classheader-container div classaction-group span classmonth-display{{ month }}/span el-button-group el-button typeprimary :loadingloading clickchangeMonth(-1)Last month/el-button el-button typeprimary :loadingloading clickchangeMonth(1)Next month/el-button /el-button-group /div /div /el-calendar /el-main /el-container /div script const { createApp, ref, provide } Vue; const app createApp({ setup() { const month ref(new Date().toISOString().slice(0, 7)); const loading ref(false); const changeMonth (offset) { const date new Date(month.value -01); date.setMonth(date.getMonth() offset); month.value date.toISOString().slice(0, 7); }; provide(month, month); provide(changeMonth, changeMonth); return { month, loading, changeMonth }; }, }); app.use(ElementPlus); app.mount(#app); /script /body /htmlURL 同样支持变量可在 URL 中引用区块上下文变量实现按当前数据动态拼接嵌入地址。使用 JS 区块动态创建 IframeNocoBase 2.0在 NocoBase 2.0 中可以使用 JS 区块动态创建 iframe获得对 iframe 行为和样式的更细粒度控制。基础示例// 创建一个填充当前区块容器的 iframe const iframe document.createElement(iframe); iframe.src https://example.com; iframe.setAttribute(sandbox, allow-scripts allow-same-origin); iframe.style.width 100%; iframe.style.height 100%; iframe.style.border none; // 替换现有子元素使 iframe 成为唯一内容 ctx.element.replaceChildren(iframe);关键要点ctx.element是当前 JS 区块容器的 DOM 元素sandbox属性控制 iframe 内容的安全限制allow-scripts允许执行脚本、allow-same-origin允许访问其自身源replaceChildren()用 iframe 替换容器的所有子元素。带加载状态的高级示例ctx.message.loading(正在加载外部内容...); try { const iframe document.createElement(iframe); iframe.src https://example.com; iframe.setAttribute(sandbox, allow-scripts allow-same-origin); iframe.style.width 100%; iframe.style.height 100%; iframe.style.border none; iframe.addEventListener(load, () { ctx.message.success(内容加载成功); }); iframe.addEventListener(error, () { ctx.message.error(加载内容失败); }); ctx.element.replaceChildren(iframe); } catch (error) { ctx.message.error(创建 iframe 出错: error.message); }iframe 安全注意事项尽量始终通过 HTTPS 加载内容仅启用必要的 sandbox 权限配置适当的 CSP内容安全策略头注意跨域限制同源策略仅从可信域加载内容。Embed 插件将 NocoBase 页面嵌入外部系统与 Iframe 区块方向相反Embed 插件 用于将 NocoBase 的页面嵌入到其他网站或应用程序中。使用步骤进入插件管理器启用嵌入 NocoBase插件开源可用在页面的设置器右上角中点击「复制嵌入链接」得到形如https://example.com/embed/qs087rz4o2b的独立可打开链接若要在其他网站或应用中嵌入需要进行用户打通并将token拼接到链接中例如https://example.com/embed/qs087rz4o2b?tokenxxx以此实现免登录访问与用户身份关联。常见集成场景与组合建议企业系统集成将 NocoBase 与 ERP、CRM 或其他企业系统连接双向数据同步Webhook 接收外部变更 HTTP 请求节点推送/拉取自动化跨系统工作流数据变化触发外部操作、外部事件驱动内部流程。第三方服务集成查询支付网关的支付状态、集成消息服务或云平台利用外部 API 扩展功能AI 服务、OCR、语音合成等使用 Webhook 和 HTTP 请求构建自定义集成闭环。数据集成通过外部数据源数据库/FDW/REST API连接到多个数据源聚合来自不同系统的数据创建统一的仪表板和报表。安全注意事项通用最佳实践在所有 NocoBase 集成场景中都应遵循以下安全基线使用 HTTPS始终使用加密连接进行数据传输保护 API 密钥安全存储 API 密钥并定期轮换切勿将密钥写入前端源码或公开仓库最小权限原则仅授予集成所需的必要权限为 API 密钥、SSO 用户分配合适角色审计日志监控和记录集成活动API 调用、Webhook 请求、SSO 登录行为数据验证验证来自外部源的所有数据在工作流中添加校验逻辑并对日志中的敏感信息脱敏。小结NocoBase 的集成体系围绕认证、数据、流程、界面四个维度展开API 密钥与 API 文档解决程序化访问的认证与探索问题SSO 插件族解决企业统一身份认证Webhook 与 HTTP 请求节点构成双向的工作流自动化通道外部数据源与 FDW 打通异构数据库Iframe 区块与 Embed 插件实现双向的界面嵌入。实际项目中可按先认证、再数据、后流程、最后界面的顺序规划集成方案并结合仓库中的 API 密钥使用教程、FDW 文档、数据源概述 等配套文档进一步深入。【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表