Add create and delete scripts creating Public Client Application (Remove unused JavaScript version).
This commit is contained in:
44
scripts/delete-pca.sh
Executable file
44
scripts/delete-pca.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
set -uo pipefail
|
||||
|
||||
APP_NAME="${1:-}"
|
||||
if [[ -z "$APP_NAME" ]]; then
|
||||
echo "Error: Application name is required." >&2
|
||||
echo "Usage: $(basename "$0") <app-name>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
APP_ID="$(az ad app list --display-name "$APP_NAME" | jq -r '[.[].appId] | join(",")')"
|
||||
if [[ "$APP_ID" =~ "," ]]; then
|
||||
echo "Error: The application name '$APP_NAME' is not unique." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$APP_ID" ]]; then
|
||||
echo "Error: No application found with name '$APP_NAME'." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SP_ID="$(az ad sp show --id "$APP_ID" --query id -o tsv)"
|
||||
|
||||
if [[ -z "$SP_ID" ]]; then
|
||||
echo "No service principal found for application '$APP_NAME' ($APP_ID)."
|
||||
fi
|
||||
|
||||
# Get confirmation from user before deleting
|
||||
read -p "Are you sure you want to delete application '$APP_NAME' with appId '$APP_ID' and its service principal? (y/N) " -n 1 -r
|
||||
echo
|
||||
if [[ ! "$REPLY" =~ ^[Yy]$ ]]; then
|
||||
echo "Aborting deletion."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ -n "$SP_ID" ]]; then
|
||||
az ad sp delete --id "$SP_ID"
|
||||
echo "Deleted service principal with id '$SP_ID' for application '$APP_NAME' ($APP_ID)."
|
||||
fi
|
||||
|
||||
az ad app delete --id "$APP_ID"
|
||||
echo "Deleted application '$APP_NAME' with appId '$APP_ID'."
|
||||
Reference in New Issue
Block a user