{
  "realm": "meshitrack",
  "enabled": true,
  "displayName": "MeshiTrack",
  "registrationAllowed": true,
  "loginWithEmailAllowed": true,
  "duplicateEmailsAllowed": false,
  "resetPasswordAllowed": true,
  "editUsernameAllowed": false,
  "sslRequired": "none",
  "accessTokenLifespan": 1800,
  "ssoSessionIdleTimeout": 86400,
  "ssoSessionMaxLifespan": 604800,
  "roles": {
    "realm": [
      {
        "name": "admin",
        "description": "Administrator role - can manage household settings",
        "composite": false
      },
      {
        "name": "member",
        "description": "Standard member role",
        "composite": false
      }
    ]
  },
  "defaultRoles": ["member"],
  "clients": [
    {
      "clientId": "meshitrack-web",
      "name": "MeshiTrack Web App",
      "enabled": true,
      "publicClient": false,
      "secret": "dev-web-client-secret",
      "standardFlowEnabled": true,
      "implicitFlowEnabled": false,
      "directAccessGrantsEnabled": true,
      "redirectUris": [
        "http://localhost:3000/*",
        "http://localhost:3000",
        "http://localhost:3000/api/auth/callback/keycloak"
      ],
      "webOrigins": ["http://localhost:3000"],
      "attributes": {},
      "protocolMappers": [
        {
          "name": "household-ids-mapper",
          "protocol": "openid-connect",
          "protocolMapper": "oidc-usermodel-attribute-mapper",
          "config": {
            "claim.name": "householdIds",
            "user.attribute": "householdIds",
            "jsonType.label": "JSON",
            "id.token.claim": "true",
            "access.token.claim": "true",
            "userinfo.token.claim": "true",
            "multivalued": "false"
          }
        },
        {
          "name": "audience-mapper",
          "protocol": "openid-connect",
          "protocolMapper": "oidc-audience-mapper",
          "config": {
            "included.client.audience": "meshitrack-api",
            "id.token.claim": "false",
            "access.token.claim": "true"
          }
        }
      ]
    },
    {
      "clientId": "meshitrack-api",
      "name": "MeshiTrack API",
      "enabled": true,
      "publicClient": false,
      "bearerOnly": true,
      "standardFlowEnabled": false,
      "directAccessGrantsEnabled": false
    }
  ],
  "users": [
    {
      "username": "testuser1",
      "enabled": true,
      "email": "testuser1@meshitrack.local",
      "firstName": "Test",
      "lastName": "User1",
      "emailVerified": true,
      "credentials": [
        {
          "type": "password",
          "value": "test1234",
          "temporary": false
        }
      ],
      "realmRoles": ["member", "admin"],
      "attributes": {
        "householdIds": ["[\"000000000000000000000001\"]"]
      }
    },
    {
      "username": "testuser2",
      "enabled": true,
      "email": "testuser2@meshitrack.local",
      "firstName": "Test",
      "lastName": "User2",
      "emailVerified": true,
      "credentials": [
        {
          "type": "password",
          "value": "test1234",
          "temporary": false
        }
      ],
      "realmRoles": ["member"],
      "attributes": {
        "householdIds": ["[\"000000000000000000000001\"]"]
      }
    }
  ]
}
