KSM CLIを使用した汎用Bashスクリプト

#!/usr/bin/env bash

# 以下のように実行されます
# history -c && echo "BASE64STRING==" | /path/to/script.sh

# これを指定しないと、スクリプトで何かエラーが発生しても
# 成功と報告する可能性があります。
set -o pipefail -e

IFS= read -r params
json=$(echo "$params" | base64 -d)

# JSONパーサーは組み込まれていません。
# JSONを解析するには、jqやfxのようなツールが必要です。
$( echo "$json" | jq -r 'keys[] as $k | "export \($k)=\(.[$k])"' )

echo "providerRecordUid=$providerRecordUid"
echo "resourceRecordUid=$resourceRecordUid"
echo "userRecordUid=$userRecordUid"
echo "newPassword=$newPassword"
echo "oldPassword=$oldPassword"
echo "user=$user"

# 記録のデータは、別のBase64 JSONです。値は「jq」を使用して取得できます
recordJson=$(echo "$records" | base64 -d)
title=$(echo "$recordJson" | jq -r ".[] | select(.uid==\"$providerRecordUid\").title")
echo "Provider Title=$title"

# jqを使用して記録のJSONデータを解析
UserRecordLogin=$(ksm secret get --json --uid=$userRecordUid | jq -r '.fields[] | select(.type == "login" or .label == "login").value[0]')
echo "UserRecordLogin=$UserRecordLogin"

# ボルトの記録にアクセス可能なデバイスの設定を使用して
# ksm CLIバイナリをインストールおよび初期化する必要があります

# 表記法を使用してデータを取得
UserRecordTitle=$( ksm secret notation $userRecordUid/title )
UserRecordLogin=$( ksm secret notation $userRecordUid/field/login )
echo "UserRecordTitle=$UserRecordTitle"
echo "UserRecordLogin=$UserRecordLogin"

最終更新