48 lines
1.6 KiB
Bash
Executable File
48 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
keycloak_url="${KEYCLOAK_URL:-http://localhost:8081}"
|
|
backend_url="${BACKEND_URL:-http://localhost:8080}"
|
|
|
|
curl --fail --silent --show-error "${backend_url}/actuator/health" | jq .
|
|
|
|
for username in employee manager admin hr; do
|
|
case "${username}" in
|
|
employee) password='Employee123!' ;;
|
|
manager) password='Manager123!' ;;
|
|
admin) password='Admin123!' ;;
|
|
hr) password='HrReviewer123!' ;;
|
|
esac
|
|
|
|
token="$({
|
|
curl --fail --silent --show-error \
|
|
-X POST "${keycloak_url}/realms/aioa/protocol/openid-connect/token" \
|
|
-H 'Content-Type: application/x-www-form-urlencoded' \
|
|
--data-urlencode client_id=aioa-mobile \
|
|
--data-urlencode grant_type=password \
|
|
--data-urlencode username="${username}" \
|
|
--data-urlencode password="${password}"
|
|
} | jq -r .access_token)"
|
|
|
|
case "${username}" in
|
|
employee) device_id='10000000-0000-4000-8000-000000000001' ;;
|
|
manager) device_id='10000000-0000-4000-8000-000000000002' ;;
|
|
admin) device_id='10000000-0000-4000-8000-000000000003' ;;
|
|
hr) device_id='10000000-0000-4000-8000-000000000004' ;;
|
|
esac
|
|
|
|
curl --fail --silent --show-error \
|
|
-X POST "${backend_url}/api/v1/devices/register" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-H 'Content-Type: application/json' \
|
|
--data "{\"id\":\"${device_id}\",\"name\":\"Local auth verifier (${username})\",\"platform\":\"OTHER\",\"appVersion\":\"script\"}" \
|
|
>/dev/null
|
|
|
|
printf '%s\n' "${username}"
|
|
curl --fail --silent --show-error \
|
|
"${backend_url}/api/v1/me" \
|
|
-H "Authorization: Bearer ${token}" \
|
|
-H "X-AIOA-Device-Id: ${device_id}" | jq .
|
|
done
|