{
  "id": "grapity",
  "realm": "grapity",
  "enabled": true,
  "clients": [
    {
      "clientId": "grapity-cli",
      "name": "Grapity CLI",
      "enabled": true,
      "clientAuthenticatorType": "client-secret",
      "secret": "grapity-cli-secret",
      "serviceAccountsEnabled": true,
      "directAccessGrantsEnabled": false,
      "implicitFlowEnabled": false,
      "standardFlowEnabled": false,
      "protocol": "openid-connect",
      "defaultClientScopes": [
        "basic",
        "specs:read",
        "specs:write",
        "gateway-configs:read",
        "gateway-configs:write",
        "gateway-logs:read",
        "gateway-logs:write"
      ],
      "protocolMappers": [
        {
          "name": "audience",
          "protocol": "openid-connect",
          "protocolMapper": "oidc-audience-mapper",
          "consentRequired": false,
          "config": {
            "included.client.audience": "grapity-cli",
            "id.token.claim": "false",
            "access.token.claim": "true",
            "included.custom.audience": "grapity-cli"
          }
        }
      ]
    },
    {
      "clientId": "grapity-hub",
      "name": "Grapity Hub",
      "enabled": true,
      "publicClient": true,
      "directAccessGrantsEnabled": false,
      "implicitFlowEnabled": false,
      "standardFlowEnabled": true,
      "protocol": "openid-connect",
      "redirectUris": [
        "http://localhost:3000/*",
        "http://127.0.0.1:3000/*"
      ],
      "webOrigins": [
        "http://localhost:3000",
        "http://127.0.0.1:3000"
      ],
      "attributes": {
        "pkce.code.challenge.method": "S256"
      },
      "defaultClientScopes": [
        "basic",
        "specs:read",
        "gateway-configs:read",
        "gateway-logs:read"
      ],
      "protocolMappers": [
        {
          "name": "audience",
          "protocol": "openid-connect",
          "protocolMapper": "oidc-audience-mapper",
          "consentRequired": false,
          "config": {
            "included.client.audience": "grapity-cli",
            "id.token.claim": "false",
            "access.token.claim": "true",
            "included.custom.audience": "grapity-cli"
          }
        }
      ]
    },
    {
      "clientId": "grapity-cli-limited",
      "name": "Grapity CLI Limited",
      "enabled": true,
      "clientAuthenticatorType": "client-secret",
      "secret": "grapity-cli-limited-secret",
      "serviceAccountsEnabled": true,
      "directAccessGrantsEnabled": false,
      "implicitFlowEnabled": false,
      "standardFlowEnabled": false,
      "protocol": "openid-connect",
      "defaultClientScopes": [
        "basic",
        "gateway-configs:read"
      ],
      "protocolMappers": [
        {
          "name": "audience",
          "protocol": "openid-connect",
          "protocolMapper": "oidc-audience-mapper",
          "consentRequired": false,
          "config": {
            "included.client.audience": "grapity-cli",
            "id.token.claim": "false",
            "access.token.claim": "true",
            "included.custom.audience": "grapity-cli"
          }
        }
      ]
    },
    {
      "clientId": "grapity-other-audience",
      "name": "Grapity Other Audience",
      "enabled": true,
      "clientAuthenticatorType": "client-secret",
      "secret": "grapity-other-audience-secret",
      "serviceAccountsEnabled": true,
      "directAccessGrantsEnabled": false,
      "implicitFlowEnabled": false,
      "standardFlowEnabled": false,
      "protocol": "openid-connect",
      "defaultClientScopes": [
        "basic",
        "specs:read"
      ],
      "protocolMappers": [
        {
          "name": "audience",
          "protocol": "openid-connect",
          "protocolMapper": "oidc-audience-mapper",
          "consentRequired": false,
          "config": {
            "included.client.audience": "grapity-other-audience",
            "id.token.claim": "false",
            "access.token.claim": "true",
            "included.custom.audience": "grapity-other-audience"
          }
        },
        {
          "name": "subject",
          "protocol": "openid-connect",
          "protocolMapper": "oidc-sub-mapper",
          "consentRequired": false,
          "config": {
            "access.token.claim": "true",
            "id.token.claim": "true",
            "userinfo.token.claim": "true"
          }
        }
      ]
    }
  ],
  "defaultDefaultClientScopes": [
    "basic"
  ],
  "clientScopes": [
    {
      "name": "basic",
      "description": "OpenID Connect built-in scope with sub claim",
      "protocol": "openid-connect",
      "attributes": {
        "include.in.token.scope": "false",
        "display.on.consent.screen": "false"
      },
      "protocolMappers": [
        {
          "name": "sub",
          "protocol": "openid-connect",
          "protocolMapper": "oidc-sub-mapper",
          "consentRequired": false,
          "config": {
            "access.token.claim": "true",
            "id.token.claim": "true",
            "userinfo.token.claim": "true"
          }
        }
      ]
    },
    {
      "name": "specs:read",
      "protocol": "openid-connect",
      "attributes": {
        "include.in.token.scope": "true",
        "display.on.consent.screen": "false"
      }
    },
    {
      "name": "specs:write",
      "protocol": "openid-connect",
      "attributes": {
        "include.in.token.scope": "true",
        "display.on.consent.screen": "false"
      }
    },
    {
      "name": "gateway-configs:read",
      "protocol": "openid-connect",
      "attributes": {
        "include.in.token.scope": "true",
        "display.on.consent.screen": "false"
      }
    },
    {
      "name": "gateway-configs:write",
      "protocol": "openid-connect",
      "attributes": {
        "include.in.token.scope": "true",
        "display.on.consent.screen": "false"
      }
    },
    {
      "name": "gateway-logs:read",
      "protocol": "openid-connect",
      "attributes": {
        "include.in.token.scope": "true",
        "display.on.consent.screen": "false"
      }
    },
    {
      "name": "gateway-logs:write",
      "protocol": "openid-connect",
      "attributes": {
        "include.in.token.scope": "true",
        "display.on.consent.screen": "false"
      }
    }
  ],
  "users": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "username": "demo",
      "enabled": true,
      "emailVerified": true,
      "firstName": "Demo",
      "lastName": "User",
      "email": "demo@example.com",
      "credentials": [
        {
          "type": "password",
          "value": "demo",
          "temporary": false
        }
      ],
      "requiredActions": []
    }
  ]
}
