Guides Keycloak IAM administration: realm/user management, client configuration, authentication flows with OIDC/SAML, authorization policies, RBAC, security hardening, and troubleshooting.
npx claudepluginhub nikiforovall/keycloak-authorization-services-dotnet --plugin keycloak-authservicesThis skill uses the workspace's default tool permissions.
Choose your task and load the appropriate reference:
Administers Keycloak via REST API: creates/manages realms, clients, users with custom attributes, roles, groups; configures OAuth 2.0, themes, tokens, and identity providers. For auth setups and troubleshooting.
Integrates Keycloak OIDC with Harness pipelines for EKS IRSA service account authentication and realm-as-code configurations.
Guides custom Keycloak theme implementation for multi-tenant realms with tenant-specific branding, logos, colors, CSS/JS assets, and FTL login templates.
Share bugs, ideas, or general feedback.
Choose your task and load the appropriate reference:
docker run -d \
--name keycloak \
-p 8080:8080 \
-e KEYCLOAK_ADMIN=admin \
-e KEYCLOAK_ADMIN_PASSWORD=admin \
quay.io/keycloak/keycloak:latest \
start-dev
bin/kc.sh build --db=postgres
export KC_DB=postgres
export KC_DB_URL=jdbc:postgresql://localhost/keycloak
export KC_DB_USERNAME=keycloak
export KC_DB_PASSWORD=password
export KC_HOSTNAME=keycloak.example.com
bin/kc.sh start --optimized
KC_HOSTNAME for production| Concept | Description |
|---|---|
| Realm | Tenant boundary. Master realm for admin only; create app realms per environment |
| Client | Application registration. OIDC (modern) or SAML (legacy). Confidential (server) or Public (SPA/mobile) |
| User/Group | Identity with credentials. Groups for hierarchical organization |
| Realm Role | Global permission across all clients in a realm |
| Client Role | Permission scoped to a single client |
| Composite Role | Role that inherits other roles |
client-id{AuthServerUrl}/realms/{realm}/.well-known/openid-configurationou=users,dc=example,dc=com)# Admin CLI setup
bin/kcadm.sh config credentials --server http://localhost:8080 --realm master --user admin
# Realm operations
bin/kcadm.sh create realms -s realm=my-realm -s enabled=true
bin/kcadm.sh get realms/my-realm
# User operations
bin/kcadm.sh create users -r my-realm -s username=john -s enabled=true
bin/kcadm.sh set-password -r my-realm --username john --new-password secret
# Export/Import
bin/kc.sh export --dir /backup --realm my-realm
bin/kc.sh import --dir /backup