Skip to main content

Service Account Token Script

#!/bin/bash

# Set your ZITADEL details
CLIENT_ID=""
CLIENT_SECRET=""
TOKEN_URL="https://auth.spakl.io/oauth/v2/token" # Change this if using a different ZITADEL region or setup


# Make the curl request to get the token
response=$(curl -s --request POST "$TOKEN_URL" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "grant_type=client_credentials" \
--data-urlencode "client_id=$CLIENT_ID" \
--data-urlencode "client_secret=$CLIENT_SECRET" \
--data-urlencode "scope=groups roles openid profile email offline_access") # Add your scopes here

# Parse and display the token
access_token=$(echo "$response" | jq -r '.access_token')
id_token=$(echo "$response" | jq -r '.id_token')

# Check if the token was successfully retrieved
if [ "$access_token" != "null" ]; then
echo "Access Token: $access_token"
echo ""
echo "ID Token: $id_token"
echo ""
else
echo "Failed to retrieve token. Response from server: $response"
fi