# 相关jar包准备
获取ESB Server 正式安装包 Primeton_iPaaS_9.1.0_ESB_Server.tar。
解压安装包 Primeton_iPaaS_9.1.0_ESB_Server.tar,获取解压后server目录下 eos_libs、libs、plugins 三个目录及其目录下的Jar文件。
# 使用idea创建Java应用
在idea操作界面中,选择“File>New>Project"选项,打开创建项目界面。
在i创建项目界面,选择“java"选项,填写应用名称及应用所在目录,点击确认按钮,完成新项目创建。
# 应用导入Jar包
在新项目界面中,选择“File>Project Structure"选项,打开项目配置界面。
在项目配置界面,进入“Project Settings>Modules"选项,选择应用名称,在右侧界面点击“dependencies”页签,点击“+”按钮,选择“JARs or Directories”选项,添加上步骤中获取的ESB Server 相关jar。
添加Jar包如图所示
# 应用连接器认证类创建
右击src目录,选择“New>Package"创建路径为“com.primeton.esb.connector.auth”的包。
创建路径为“com.primeton.esb.connector.auth”的包。
在包路径上点击鼠标右键,选择“New>Java Class”,打开类创建页面。
选择 “Class"类型,并创建“TengXunHardDiskAuth”认证实现类(腾讯云硬盘)。
# 应用连接器认证类实现
说明:
1:腾讯云硬盘认证方式为签名认证,因此附件 TengXunHardDiskAuth.java 实现的功能为生成签名,并向请求头中添该签名用于业务接口的认证校验。
2:关键字认证方式,在认证实现类中获取关键字,并向请求参数中添加该关键字,用于业务接口的认证校验。
3:Token认证,以飞书认证实现类为例(FeiShuAuth.java),首次通过业务认证接口获取Token,存储在数据库及内存中,后续在Token生效时间内均使用内存、数据库中的Token,当Token失效则再次通过业务认证接口获取Token,并更新内存、数据库Token信息。
腾讯云硬盘认证实现类(签名认证) TengXunHardDiskAuth.java
飞书认证实现类(Token认证) FeiShuAuth.java
根据新增应用连接器的认证的实现逻辑,类“TengXunHardDiskAuth” 实现 接口类 “com.primeton.esb.httpcomponent.client.nio.auth.api.IConnectorAuth”,并实现 auth(IESBHttpMessage message) 与 flushToken(String authId, TokenEntity dbToken) 函数。
函数 | 说明 |
---|---|
auth(IESBHttpMessage message) | 用于向请求体中添加应用认证信息 |
flushToken(String authId, TokenEntity dbToken) | 用于Token认证类型应用更新Token |
# 认证应用导出为jar包
在项目界面中,选择“File>Project Structure"选项,打开项目配置界面。
在项目配置界面,进入“Project Settings>Artifacts"选项,点击“+”按钮,选择“Jar”选项,点击“From modules with depen…”按钮。
“Module”选择新增的Java应用,"Main Class"不填写
此次生成的Jar包无需引入第三方依赖Jar,因此删除所有第三方Jar,只保留该项目的输出目录。
最终效果如下:
点击菜单“Build>Build Artifact...”,导出jar包
jar包最终生成在应用的out目录下。
生成的含有认证类的jar放入 ESBServer安装目录/server/libs 目录下,并重启ESBServer。