什么是BearerToken?
Bearer Token 是一种用于访问受保护资源的凭证,它是一个加密的、通常由服务器生成的字符串。它的核心特点是:“持票即有权”。
想象一下你购买一场比赛的门票。 首先需要在售票处(认证服务器)出示身份证,证明“你是你”并成功购买一张票(获取 Token)。
之后,你无需再次出示身份证。在整个过程中,只需要凭借手中的票根(Bearer Token)即可进入场馆、找到座位。工作人员看到有效的票根,就会为你提供服务,而不会过问“你到底是谁?”。
这张票的任何持有者都可以使用它代表的权利。如果你把票给了别人,他就能代替你享受服务。这正是“Bearer”(持有者)一词的含义,也带来了其安全特性。
任何向服务器出示了有效 Bearer Token 的客户端(如知行之桥、手机 App、浏览器),都会被服务器授予与该 Token 相关联的访问权限。服务器不关心是谁出示的 Token,它只认 Token 本身。
Bearer Token在 HTTP 请求中是如何工作的?
当客户端(如知行之桥的 REST 端口)需要访问一个受保护的 API 时,它需要在 HTTP 请求的 Header(头信息) 中添加一个 Authorization 字段。
其标准格式如下:
|
1 2 |
http Authorization: Bearer <你的Token字符串> |
示例:
|
1 2 3 4 |
http GET /api/v1/users HTTP/1.1 Host: api.example.com Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c |
服务器端的处理流程:
- 接收到请求。
- 从 Authorization 头中提取出 Bearer Token。
- 验证 Token 的签名(确保 Token 是它颁发的,且未被篡改)和有效期。
- 如果验证通过,则解析 Token 中包含的信息(如用户身份和权限),然后处理请求并返回数据。
- 如果验证失败(Token 无效、过期等),则返回 401 Unauthorized 或 403 Forbidden 错误。
简单来说,Bearer Token 就是一个短期的、代表访问权限的“数字钥匙串”。
它是什么? 一个加密字符串。
它怎么用? 放在 HTTP 请求的 Authorization: Bearer 头里。
它的核心规则是什么? “见令牌如见人”,谁有 Token,谁就有访问权。
如何保证安全? 必须全程使用 HTTPS,并且 Token 应有合理的过期时间。
理解了这一点,就掌握了在知行之桥或任何其他系统中配置 API 认证的关键。
在知行之桥Rest端口配置使用Bearer Token
场景说明
因为token是有有效期的动态Token,假设每次获取到的最新的Bearer token会被存放到D:\BearerToken.txt文件中。

每次调用接口时,从BearerToken.txt中获取到Bearer Token,将其放在消息头中,跟随消息传入到Rest端口,然后在Rest端口中从消息头中获取Bearer Token,调用最终接口。
工作流配置步骤
在知行之桥的工作流如下。
1.在Script端口中添加脚本

在Script中添加如下脚本:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<!-- 创建输入项并设置文件属性--> <arc:set attr="input.file" value="D:\BearerToken.txt" /> <!-- 调用fileRead并传入输入项--> <arc:call op="fileRead" in="input" out="result" > <arc:set attr="fileOut.data" value="[result.file:data]" /> </arc:call> <!-- 检查以确保读取的文件有数据,否则抛出错误 --> <arc:check attr="fileOut.data" > <!-- 向消息头中写入属性access_token --> <arc:set attr="output.Header:access_token" value="Bearer [fileOut.data]" /> <arc:else> <arc:throw code="NoData" desc="No file data." /> </arc:else> </arc:check> <!-- 设置输出文件并推送文件 --> <arc:set attr="output.filepath" value="[FilePath]" /> <arc:push item="output" /> |

2.在Rest端口配置
在Rest端口,标头部分,添加属性名Authorization,其值为[_message.header:access_token]。

此外,除了配置对应的接口信息,还需要在高级设置中,勾选“允许在头部使用ArcScript”。

测试工作流
在Script端口的事务中,上传rest接口的post body,示例中的rest端口是创建订单接口,所以此处上传文件createOrder.json。

待文件的输入状态变成成功,点击这行事务的左侧按钮,查看输出详情,可以看到在输出的消息头中,被存入了一个属性名为“access_token”的消息头,其值为Bearer [BearerToken.txt]的拼接。

进入rest端口的事务中,查看本地接口调用的结果,输入状态为成功,就表示接口调用成功。

Bearer Token作为一种轻量级且广泛应用的认证机制,在现代API集成中扮演着重要角色。通过本文介绍的配置方法,可以在知行之桥中轻松实现基于Bearer Token的API认证流程。掌握这一技术不仅能够提升系统集成的安全性,也为后续构建更复杂的自动化业务流程奠定了坚实基础。如果在实践过程中遇到任何问题,请与我们联系:edi@kasoftware.cn。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。

AS2 认证信息
OFTP 证书
SAP 证书
知行之桥®
