jenkins 2.2*版本调用api提示403

问题:新版本jenkins2.2.* 调用api接口提示403

按照jenkins老版本的操作,我一开始就去全局安全配置中把跨域的勾选给去了。结果调用api还是403

具体message提示:No valid crumb was included in the request。

差异:新老版本jenkins差异在于老版本提供选项框可以自由设置是否勾选开启CSRF,新版本是默认CSRF是开启的,且UI界面上不提供关闭选项。

解决方案:

方案一、

通过启动参数把CSRF关掉:

参照问题:https://issues.jenkins-ci.org/browse/JENKINS-61375

nohup java -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true -jar jenkins.war &

关闭后全局安全配置下跨站请求伪造保护是这样的。再次执行接口调用就可以了。

方案二、通过在请求头添加crumb

1、获取crumb

curl -s 'http://admin:[email protected]:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'

2、测试

验证接口调用没通过。如果哪位老师刚好做过,麻烦评论里告知一下,具体哪一步骤出问题了。

猜你喜欢

转载自blog.csdn.net/a910196454/article/details/107325036