银行bpm

IBM BPM 防御跨站点请求伪造?

最近又开始研究IBM BPM产品啦~项目没开始之前在梳理相关知识,突然想到一个问题之前没有完美解决,或者使用其他方案绕过。所以想在twt里发个问题请教下知道的大神~
IBM 官方knowledgecenter是这么描述的:
要防御跨站点请求伪造攻击,IBM® BPM Standard REST API 操作需要对每个请求设置 HTTP 头 BPMCSRFToken。

客户机应用程序必须通过对类似于以下示例的 JSON 主体来调用 POST /bpm/system/login REST API,从而获取必需的令牌。
{
"refresh-groups": false,
"requested-lifetime": 7200
}
其中,将 refresh-groups 属性的值设置为 false 可避免与更新调用用户的组成员资格相关联的开销,requested-lifetime 是令牌有效的秒数。如果在请求中未指定 requested-lifetime,那么将使用缺省值 7200 秒,这是允许的最大值。

令牌将以字符串形式返回在响应对象的 csrf_token 属性中。对 IBM BPM Standard REST API 操作的每个调用必须在 HTTP 头 BPMCSRFToken 中包含有效的令牌。

任何尝试调用具有到期令牌的 IBM BPM Standard REST API 都将失败,响应中将返回 HTTP 响应代码 403 和 error_number CWTBG0651E,指示无法验证令牌并且必须更新令牌。要检索新令牌,客户机应用程序必须重新调用 /bpm/system/login API。 然后,客户机应用程序使用新令牌重新提交失败的请求。


问题:所以我如果想从外部调用rest api获取流程或者任务相关信息的话,需要先post 上面说的这个rest api,从返回对象中获取csrf_token,然后拿这个值放在自己的rest请求头中发起新的请求,但是我尝试了很多次去尝试这个rest,使用post方式,但一直没成功,详见下图:


有大神告知如何调用这个rest吗?甚是感谢!

参与4

1同行回答

zftangzftang其它小白一枚
感觉调用不了,这个rest写的显示全部

感觉调用不了,这个rest写的

收起
互联网服务 · 2020-04-26
浏览889
  • rest头我没写,前面是host:port 根据不同环境配置不同
    2020-04-27

提问者

maimiao
研发工程师Pactera
擅长领域: 双活应用服务器存储

相关问题

问题状态

  • 发布时间:2020-04-23
  • 关注会员:2 人
  • 问题浏览:1483
  • 最近回答:2020-04-26
  • X社区推广