Skip to content

Repository files navigation

CoreLink Identity

CI Release Maven Central Latest release Keycloak 26.7.2 License: MIT

A reusable, production-oriented Keycloak UI theme suite built with Keycloakify, React, TypeScript, and Vite. It ships with CoreLink branding by default, but the theme name, visible brand name, tagline, logo asset, colors, copy and translations can be replaced for another product.

راهنمای فارسی · Installation · Branding · Releases

What it provides

  • Modern Keycloak authentication UI without exposing the default Keycloak look.
  • Keycloakify-generated installable theme JARs.
  • English and Persian support with RTL handling.
  • UI coverage for standard Keycloak login, registration, reset-password, verification, OTP/TOTP and required-action flows.
  • Branded Login, Account, Admin and Email surfaces.
  • Build-time and realm-level brand configuration.
  • Multi-stage Keycloak Docker image.
  • CI build validation.
  • Tagged releases containing ready-to-install JARs, SHA-256 checksums and a GHCR image.

Compatibility

The current Docker image baseline is Keycloak 26.7.2. Keycloakify currently produces two compatibility artifacts:

  • keycloak-theme-for-kc-22-to-25.jar for Keycloak 22–25.
  • keycloak-theme-for-kc-all-other-versions.jar for the remaining supported Keycloak versions, including the current 26.x baseline.

For production, use the artifact generated by the release you are installing and test it against your exact Keycloak version before rollout.

Quick start

Requirements: Node.js 20+ and npm.

git clone https://github.com/CoreLinkPlatform/Identity.git
cd Identity
npm ci
npm run dev

Build the installable Keycloak themes:

npm run build:keycloak

The generated JARs are written to dist_keycloak/.

For Keycloak 26.x, install dist_keycloak/keycloak-theme-for-kc-all-other-versions.jar by copying it to /opt/keycloak/providers/, running kc.sh build, restarting Keycloak, and selecting corelink under Realm settings → Themes → Login theme. See docs/INSTALLATION.md for complete Docker and bare-Keycloak instructions.

Use it for your own product

No CoreLink backend is required. The repository can be forked and rebranded independently.

Keycloakify derives the actual Keycloak theme name from package.json:name. For a fork, set that first, then build with your visible branding:

npm pkg set name=my-product
VITE_BRAND_NAME="My Product" \
VITE_BRAND_TAGLINE="Secure access" \
npm run build:keycloak

The resulting theme is selectable as my-product in Keycloak. Replace public/img/corelink-mark.svg or set VITE_BRAND_MARK when building from source. Colors and layout are documented in docs/BRANDING.md.

For Docker, KEYCLOAK_THEME_NAME updates the package/theme name inside the build stage automatically:

docker build \
  --build-arg KEYCLOAK_THEME_NAME=my-product \
  --build-arg VITE_BRAND_NAME="My Product" \
  --build-arg VITE_BRAND_TAGLINE="Secure access" \
  -t my-product-keycloak .

Releases

On tags matching v*, GitHub Actions publishes:

  • keycloak-theme-for-kc-22-to-25.jar
  • keycloak-theme-for-kc-all-other-versions.jar
  • SHA256SUMS
  • ghcr.io/corelinkplatform/identity:<tag>
  • ghcr.io/corelinkplatform/identity:latest

The release workflow rejects a tag whose semantic version does not match package.json:version.

See docs/RELEASES.md for installation from release files and release-maintainer instructions.

Repository boundaries

This project intentionally does not contain production secrets, realm credentials, database passwords, tenant data, or CoreLink deployment configuration. Realm/client provisioning and Compose/Traefik integration belong in the deployment layer.

License

MIT. You can fork, modify, redistribute, and use it commercially subject to the license terms.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages