46 lines
1.0 KiB
Plaintext
46 lines
1.0 KiB
Plaintext
|
#!/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
|
||
|
|
||
|
HOSTNAME=localhost:7002
|
||
|
REALM_NAME=spiffworkflow
|
||
|
USERNAME=${1-ciuser1}
|
||
|
PASSWORD=${2-ciuser1}
|
||
|
CLIENT_ID=spiffworkflow-frontend
|
||
|
SECURE=false
|
||
|
|
||
|
KEYCLOAK_URL=http://$HOSTNAME/realms/$REALM_NAME/protocol/openid-connect/token
|
||
|
|
||
|
echo "Using Keycloak: $KEYCLOAK_URL"
|
||
|
echo "realm: $REALM_NAME"
|
||
|
echo "client-id: $CLIENT_ID"
|
||
|
echo "username: $USERNAME"
|
||
|
echo "password: $PASSWORD"
|
||
|
echo "secure: $SECURE"
|
||
|
|
||
|
|
||
|
if [[ $SECURE = 'y' ]]; then
|
||
|
INSECURE=
|
||
|
else
|
||
|
INSECURE=--insecure
|
||
|
fi
|
||
|
|
||
|
result=$(curl -s -X POST "$KEYCLOAK_URL" "$INSECURE" \
|
||
|
-H "Content-Type: application/x-www-form-urlencoded" \
|
||
|
-d "username=$USERNAME" \
|
||
|
-d "password=$PASSWORD" \
|
||
|
-d 'grant_type=password' \
|
||
|
-d "client_id=$CLIENT_ID")
|
||
|
TOKEN=$(jq -r '.access_token' <<< "$result")
|
||
|
|
||
|
echo TOKEN: $TOKEN
|
||
|
|
||
|
if [[ $(echo $TOKEN) != 'null' ]]; then
|
||
|
export KEYCLOAK_TOKEN=$TOKEN
|
||
|
fi
|