领事模板返回空地图?

时间:2018-07-24 14:00:08

标签: go-templates hashicorp-vault consul-template

大家好,

我正在尝试从Vault中的approle auth方法获取客户端令牌。我已经配置了领事模板,它获取角色ID和秘密ID,然后使用它们在auth / approle / login端点获取client_token。真正奇怪的是,前两个步骤已成功执行并返回了数据,但是,在这里很难获得client_token。我使用wireshark分析了请求,并检查了请求client_token的请求的响应,它清楚地显示了包含client_token的json结果。但是领事模板确实能识别出回报,并为我提供了以下结果:

{322a47b9-bf23-193d-8117-228637253fde 0 false map[] [] 0xc42001cf50 <nil>}

使用相同的方法来请求secret-id,但是consul-template已成功返回它并识别了json对象。那不是很奇怪吗?!

您可以在下面找到领事模板:

{{define "token" }}
{{ with secret "auth/approle/role/python-role/role-id" }}{{ $role:= (print "role_id= " .Data.role_id) }}
{{ with secret "auth/approle/role/python-role/secret-id" "role_name= python-role" }}{{ $secret:= (print "secret_id= " .Data.secret_id) }}
{{- with secret "auth/approle/login/" $role $secret -}}{{ . }}{{ end }}
{{ end }}
{{ end }}
{{ end }}

{{template "token"}}

此外,下面是我用来检查请求是否正确的wireshark跟踪: enter image description here 有人有主意吗? 预先感谢。

0 个答案:

没有答案