Skip to content

Commit 6d1fb8f

Browse files
committed
fix copilot suggestions
1 parent ffcce70 commit 6d1fb8f

1 file changed

Lines changed: 18 additions & 7 deletions

File tree

  • src/artifacts-helper/scripts

src/artifacts-helper/scripts/az

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55

66
# If ACTIONS_ID_TOKEN_REQUEST_URL is set, we are in GitHub Actions - skip interception
77
if [ -n "${ACTIONS_ID_TOKEN_REQUEST_URL}" ]; then
8-
source "$(dirname $0)"/resolve-shim.sh
8+
source "$(dirname "$0")"/resolve-shim.sh
99
AZ_EXE="$(resolve_shim)"
1010
exec "${AZ_EXE}" "$@"
1111
fi
1212

13-
source "$(dirname $0)"/resolve-shim.sh
13+
source "$(dirname "$0")"/resolve-shim.sh
1414

1515
# Well-known resource type mappings (az account get-access-token --resource-type)
1616
declare -A RESOURCE_TYPE_MAP=(
@@ -31,10 +31,17 @@ if [[ "$1" == "account" && "$2" == "get-access-token" ]]; then
3131
prev=""
3232

3333
for arg in "${@:3}"; do
34-
case "$prev" in
35-
--resource) resource="$arg" ;;
36-
--scope) scope="$arg" ;;
37-
--resource-type) resource_type="$arg" ;;
34+
case "$arg" in
35+
--resource=*) resource="${arg#--resource=}" ;;
36+
--scope=*) scope="${arg#--scope=}" ;;
37+
--resource-type=*) resource_type="${arg#--resource-type=}" ;;
38+
*)
39+
case "$prev" in
40+
--resource) resource="$arg" ;;
41+
--scope) scope="$arg" ;;
42+
--resource-type) resource_type="$arg" ;;
43+
esac
44+
;;
3845
esac
3946
prev="$arg"
4047
done
@@ -60,6 +67,10 @@ if [[ "$1" == "account" && "$2" == "get-access-token" ]]; then
6067
if [[ -n "$request_scope" && -f "${HOME}/azure-auth-helper" ]]; then
6168
token=$("${HOME}/azure-auth-helper" get-access-token "$request_scope" 2>/dev/null)
6269
if [[ $? -eq 0 && -n "$token" ]]; then
70+
# Escape token for safe JSON embedding (handle backslashes and quotes)
71+
escaped_token="${token//\\/\\\\}"
72+
escaped_token="${escaped_token//\"/\\\"}"
73+
6374
# Calculate expiry timestamps (conservative 1 hour estimate)
6475
# expires_on = POSIX timestamp, expiresOn = local datetime
6576
if date --version >/dev/null 2>&1; then
@@ -75,7 +86,7 @@ if [[ "$1" == "account" && "$2" == "get-access-token" ]]; then
7586
# Return in az CLI JSON format (matching real az CLI output)
7687
cat <<EOF
7788
{
78-
"accessToken": "${token}",
89+
"accessToken": "${escaped_token}",
7990
"expiresOn": "${expires_on_datetime}",
8091
"expires_on": ${expires_on},
8192
"subscription": "",

0 commit comments

Comments
 (0)