2023-02-13 17:15:00 +00:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
function error_handler() {
|
|
|
|
>&2 echo "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}."
|
|
|
|
exit "$2"
|
|
|
|
}
|
|
|
|
trap 'error_handler ${LINENO} $?' ERR
|
|
|
|
set -o errtrace -o errexit -o nounset -o pipefail
|
|
|
|
|
|
|
|
script_dir="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
|
|
|
|
|
|
|
|
if [[ -z "${KEYCLOAK_BASE_URL:-}" ]]; then
|
|
|
|
# export KEYCLOAK_BASE_URL=http://localhost:7002
|
|
|
|
export KEYCLOAK_BASE_URL=https://keycloak.dev.spiffworkflow.org
|
|
|
|
fi
|
|
|
|
if [[ -z "${BACKEND_BASE_URL:-}" ]]; then
|
|
|
|
# export BACKEND_BASE_URL=http://localhost:7000
|
|
|
|
export BACKEND_BASE_URL=https://api.dev.spiffworkflow.org
|
|
|
|
fi
|
|
|
|
|
|
|
|
user_list="${1}"
|
|
|
|
if [[ -z "${1:-}" ]]; then
|
|
|
|
>&2 echo "usage: $(basename "$0") [user_list]"
|
|
|
|
exit 1
|
|
|
|
fi
|
2023-02-14 22:39:42 +00:00
|
|
|
REALM_NAME=${2-spiffworkflow}
|
2023-02-13 17:15:00 +00:00
|
|
|
|
|
|
|
while read -r input_line; do
|
|
|
|
if ! grep -qE '(^#|email)' <<<"$input_line" ; then
|
|
|
|
username=$(awk -F '@' '{print $1}' <<<"$input_line")
|
2023-04-06 19:45:16 +00:00
|
|
|
password=$(awk -F ',' '{print $2}' <<<"$input_line")
|
|
|
|
if [[ -z "$password" ]]; then
|
|
|
|
password="$username"
|
|
|
|
fi
|
|
|
|
access_token=$("${script_dir}/get_token" "$username" "$password" "$REALM_NAME" || echo '')
|
2023-02-14 22:39:42 +00:00
|
|
|
if [[ -z "$access_token" || "$access_token" == "null" ]]; then
|
|
|
|
>&2 echo "ERROR: failed to get access token for '$username'"
|
|
|
|
else
|
|
|
|
|
|
|
|
echo "access_token: ${access_token}"
|
|
|
|
curl -v -X POST "${BACKEND_BASE_URL}/v1.0/login_with_access_token?access_token=${access_token}" -H "Authorization: Bearer $access_token"
|
|
|
|
fi
|
2023-02-13 17:15:00 +00:00
|
|
|
fi
|
|
|
|
done <"$user_list"
|