我使用这里的第一个例子得到了这个Warning: A secret was passed to "httpRequest" using Groovy String interpolation, which is insecure
,我把它作为一个环境变量,并把它放在如下的地方
def response = httpRequest url: "https://url...",
customHeaders: [[name: 'Authorization', value: "${keyvar}"]]...
这是可行的,但不是应该如何正确地做,如本文档中所描述的,所以下面我尝试了它在这里的建议,使用单引号和没有括号。
def response = httpRequest url: "https://url...",
customHeaders: [[name: 'Authorization', value: '$keyvar']]...
这解决了第一个错误,但现在我得到了Response Code: HTTP/1.1 401 Unauthorized
,这对我来说意味着插值在单引号内不起作用,如文档所描述的。
3条答案
按热度按时间k75qkfdt1#
我使用aliOssUpload方法代替httpRequest方法,它不能直接将参数传递给参数而不重新转换为字符串。
neskvpey2#
插值警告可通过转义
$\keyvar
来解决5m1hhzi43#
为了让Matt Schuchard在评论中给出的答案更清晰,以方便将来遇到这个问题的人--您需要 * 删除字符串插值 * 并直接传递变量:
这也适用于需要附加前缀的标头(例如
Bearer
):是安全的,而
不是。