反馈已提交

网络繁忙

开放平台插件

  • 文档创建者:小张好像不在线
  • 历史版本:57
  • 最近更新:小张好像不在线 于 2024-02-20
  • 1. 概述

    1.1 版本


    报表服务器版本
    开放平台插件版本
    10.0.19
    V3.0.0
    11.0V3.0.0

    升级3.0.8版本,此版本新增秘钥加密存储,如果已经安装旧插件的工程,finedb表【fr_open_app】的secret字段默认是varchar 256,需要手动改下数据库的字段长度,改为1000。



    1.2 应用场景

    客户在其自身的业务系统中,基于开放平台,可以通过访问应用,调用API的方式,集成帆软产品能力,以及自定义的数据服务功能;

    开放众多功能接口,使客户可以方便快捷地应用帆软产品能力。

    1.3 功能简介

    帆软提供「开放平台」插件:

    1)提供安全、灵活、规范、有效的web服务,方便开发人员快速构建应用,实现在自身的业务系统中,对帆软系统、报表进行相应的管理、开展数据服务。

    2)提供统一的平台配置,实现客户端API的权限管理、安全认证管理。

    3)提供日志管理功能,实现对于API、应用的请求、访问状态查看。

    1.4 业务流程

    业务流程.png

    1.5 公共接口

    1)官方接口

    对于开放平台中内置的接口,帆软提供相关 API 文档,方便用户进行理解和使用。

    该 API 文档,仅作为官方示例,提供给具备自主产品集成能力的用户使用。

    注:平台接口文档为开放平台文档。

    FineReport、FineBI接口文档为同系列其他接口插件文档,需下载安装相应子插件后,方可正常使用。

    分类API文档
    平台平台接口文档
    FineReportFineReport接口文档
    FineBIFineBI接口文档

    2. 插件简介

    2.1 插件安装

    点击下载插件:开放平台插件

    设计器插件安装方法参照:设计器插件管理

    服务器安装插件方法参照:服务器插件管理

    注:在安装&升级插件时,如果同时安装了同系列插件,需要在安装&升级开放平台插件后重启服务器!

    同系列插件列表:开放平台、开放平台-FineBI接口、开放平台-FineReport报表接口、开放平台-平台登录认证接口。

    2.2 界面简介

    插件安装成功后,管理员登录数据决策系统,点击「管理系统>开放平台」,即可进入功能界面,如下图所示:

    注:V3.0.0新版本插件对接口进行了更新,点击右上角可以显示/隐藏旧版本接口」。

    3. 功能简介

    各模块功能简介如下表:

    模块
    功能简介
    API管理

    接口查看:接口功能、调用方式等

    接口管理:支持接口的增删改查和复制使用

    应用管理新建应用,系统自动生成应用ID和密钥,作为接口调用的凭证
    认证方式接口认证方式管理,默认提供三种备选认证方式,可新增自定义认证方式
    权限管理为应用管理中的新建应用,开放API接口的调用权限
    日志管理展示接口调用情况

    3.1 API管理

    在「API管理」中,包含第三方系统与FineReport进行资料互动服务的所有配置。

    1)分组管理

    「API管理」界面左侧为分组。平台已内置多个分组,用户可根据需需求,自行增删分组。

    对于内置的分组,使用者不可删除和编辑。

    对于非内置的分组,使用者可进行编辑、删除等操作。被删除的分组内的API,会自动移动到默认分组中。

    2)API管理

    每个分组中可保存多个API。平台已内置部分常用的API,使用者也可自行新增API。

    对于内置的API,使用者仅可进行编辑、复制、更换分组操作,不可删除和禁用。

    对于非内置的API,使用者可进行编辑、复制、更换分组、删除和禁用等操作。

    注:V3.0.0新版插件为API增加了“白名单”属性,支持为单个接口设置IP白名单,以实现对接口的访问控制。

    3.2 应用管理

    1)新增应用

    在「应用管理」中,使用者可以通过添加事件的方式,新建应用。

    使用者点击「应用管理」,点击「增加」,设置相关内容,点击「确定」,即可新增应用。

    自动生成的「应用ID」和「密钥」,可用于API的鉴权,作为第三方系统的访问凭证。

    设置项
    说明
    应用名称应用的名称,必填
    应用描述应用的描述,选填
    备选认证认证方式中预先设置好的几种方式,选填

    2)应用管理

    对于添加的应用,支持新增、编辑、复制、禁用、单个删除、批量删除等操作。编辑时可重置密钥。

    3.3 认证方式

    认证方式为对外服务提供相关的安全保障,所有应用接口均支持「自签发token认证」的方式。

    除此之外,平台内置了3种备选认证方式。使用者也可根据需求,自行增加新的认证方式。

    3.3.1 通用认证方式

    「自签发token认证」是所有的应用接口天然支持的认证方式。不论是否选择备选认证,该认证方式均可用。

    该认证是方式是通过access_token来验证登录信息,access_token需先通过应用ID和密钥获取。获取方式如下图所示:

    获取token的请求链接为:$HOST/sp/client/api/token

    API方法为:POST

    将应用ID和密钥写入Query或Headers里,应用ID和密钥详情可见3.2节应用管理。整体效果如下图所示:

    将获取的access_token,写入Headers的VALUE中,此时设置的KEY值为clientToken。根据对应API的配置,修改API方法与网址,即可调用相应的API接口。

    整体效果如下图所示:

    3.3.2 内置的备选认证方式

    开放平台内置了三种备选认证方式,仅允许用户编辑、复制,不支持删除和禁用,如下图所示:

    认证方式
    说明
    国密SM2签名认证
    • 利用国密SM2椭圆算法进行加解密,对应用ID、密钥以及时间戳进行签名后,通过签名和应用ID进行认证。

    • 其中配置项priKey=密钥、timeout=超时时间(秒)

    • 签名_sign_=SM2(应用ID+密钥+时间戳)+时间戳(毫秒)

    • Headers中添加 _sign_={计算值},clientId={应用ID},即可直接访问应用

    摘要签名认证
    • 在不能使用token认证的情况下,可使用摘要演算法(比如 SM3/MD5/ SHA256),对应用ID、密钥以及时间戳进行签名后,通过签名和应用ID进行认证。

    • 其中配置项method=摘要算法、timeout=超时时间(秒)

    • 签名_sign_= 摘要算法(应用ID+密钥+时间戳)+时间戳(毫秒)

    • Headers中添加 _sign_={计算值},clientId={应用ID},即可直接访问应用

    推荐使用这种认证方式,安全性更高


    示例:

    • client_id=203bc7b8db1d423fb55824150327ef98

    • secret=98ffd41b86db4868a6875f57e6974bbc

    • timestamp=1600166180321

    • 摘要算法为MD5

    • 超时时间为300秒

    此时,签名_sign_ = 

    MD5(clientId+secret+timestamp)+timestamp = EE6E14BCEC5724C3BC6FC08AFC5C2B111600166180321

    AkSk直接认证
    • 使用应用ID和密钥直接作为认证依据,直接调用服务。

    • 无配置项,认证方式的编辑界面的配置信息,不可自行编辑。

    • Headers中添加 clientId={应用ID}、secret={密钥} 即可直接访问应用

    出于安全考虑,不推荐使用这种认证方式

    3.3.3 自定义备选认证方式

    使用者可新增认证方式,对于非内置的认证方式,支持编辑、禁用、单个删除、批量删除等操作。

    在「认证方式」页面,点击「增加」按钮,设置相关配置项,点击「确定」,即可新增认证方式。如下图所示:


    配置项
    说明
    基础

    支持自定义「认证名称」、「认证描述」和「接口类」,方便使用者区分设置的认证方式

    1)「认证名称」必填,不可为空

    2)「认证描述」选填

    3)「接口类」是需要实现的认证API的例项物件。同一个类,可以通过配置的改变,实现多种认证方式。

    配置

    在认证方式的编辑界面的配置信息中,需进行一些固定配置,例如摘要签名认证需要定义「摘要算法」和「有效期」;

    配置可以设置为加密项,这样加密后的信息在保存后,也无法从前端读取

    默认参数自定义参数设置

    注:在部分使用了nginx的环境中,clientId的下划线会被识别为无效

    当前的解决方案是传递 client_id和clientId 均可被识别,已完成迭代兼容

    参数名别名
    client_idclientId
    client_tokenclientToken

    3.4 权限管理

    针对非公开API,调用均需要做权限验证。不同的场景、不同的应用,可调用的接口范围是不一样的。管理员可以权限管理下,进行权限配置。

    公开API可以随意调用,不受权限验证的约束。

    注:目前不存在分组权限,意思是即使把某个分组权限打开了,实质上也只是把当前分组下面的API的权限分配给了某个应用。

           如果后续发生了API分组变更,或者该分组下API新增,那么之前已设置好的API权限是不变的。

    例如:针对一个应用,打开目录树管理的分组权限,相当于打开下属所有API的权限。如果该分组下的API更换到其他分组,则该API仍保持权限打开的状态;如果在目录树管理的分组下,新增API,则该API为权限关闭状态

    3.5 日志管理

    在日志管理中,管理员可以查看API的请求频率和详细记录。

    3.6 全局设置

    在全局设置界面,管理员完成配置后,点击「保存」生效。如下图所示:


    附件列表


    主题: 数据决策系统
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持