在 Ansible/Shell 中提取 CloudFoundry UAAC 访问令牌
Extract CloudFoundry UAAC Access Token in Ansible/Shell
这里有以下文档:
https://docs.pivotal.io/pivotalcf/1-10/customizing/ops-man-api.html
运行之后:
$ uaac target https://OPS-MAN-FQDN/uaa
$ uaac token owner get [options]
$ uaac contexts
我通过 access_token
字段集获取上下文(也存储在 ~/.uaac.yml
中)
如何使用 awk、gawk 等子字符串工具以编程方式从 uaac context
(如果不是从 ~/.uaac.yml
)中提取 access_token
。
我正尝试在 ansible 中执行此操作,但 shell 可以正常工作。
如果您想知道,stdout 中 uaac context
的输出是:
[2]*[https://OPS-MAN-FQDN/uaa]
skip_ssl_validation: true
[0]*[USERNAME]
user_id: USERID
client_id: CLIENTID
access_token: ACCES_TOKEN
token_type: bearer
refresh_token: REFRESHTOKEN
expires_in: 43199
scope: opsman.admin scim.me opsman.user uaa.admin clients.admin
jti: JTI VALUE
如果你可以使用 grep
就这么简单:
uaac context | grep -Po '(?<=access_token: ).*'
打印访问令牌。
这是使用 Fabian 解决方案的 Ansible 命令:
- name: Extracting UAAC access_token
shell: "uaac context YOUREMAIL | grep -o -P '(?<=access_token:\ ).*(?=)'"
register: context
这里有以下文档: https://docs.pivotal.io/pivotalcf/1-10/customizing/ops-man-api.html
运行之后:
$ uaac target https://OPS-MAN-FQDN/uaa
$ uaac token owner get [options]
$ uaac contexts
我通过 access_token
字段集获取上下文(也存储在 ~/.uaac.yml
中)
如何使用 awk、gawk 等子字符串工具以编程方式从 uaac context
(如果不是从 ~/.uaac.yml
)中提取 access_token
。
我正尝试在 ansible 中执行此操作,但 shell 可以正常工作。
如果您想知道,stdout 中 uaac context
的输出是:
[2]*[https://OPS-MAN-FQDN/uaa]
skip_ssl_validation: true
[0]*[USERNAME]
user_id: USERID
client_id: CLIENTID
access_token: ACCES_TOKEN
token_type: bearer
refresh_token: REFRESHTOKEN
expires_in: 43199
scope: opsman.admin scim.me opsman.user uaa.admin clients.admin
jti: JTI VALUE
如果你可以使用 grep
就这么简单:
uaac context | grep -Po '(?<=access_token: ).*'
打印访问令牌。
这是使用 Fabian 解决方案的 Ansible 命令:
- name: Extracting UAAC access_token
shell: "uaac context YOUREMAIL | grep -o -P '(?<=access_token:\ ).*(?=)'"
register: context