All Projects → garronej → keycloakify-demo-app

garronej / keycloakify-demo-app

Licence: MIT license
Demo GitHub Actions setup for react projects that uses keycloakify

Programming Languages

HTML
75241 projects
FreeMarker
481 projects
typescript
32286 projects
CSS
56736 projects
SCSS
7915 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to keycloakify-demo-app

keycloak-mysql-user-federation
Keycloak user federation extension to connect to a MySQL database containing users
Stars: ✭ 17 (-50%)
Mutual labels:  keycloak
spring-boot-keycloak-angular
Securing a Angular frontend and a Spring Boot backend with Keycloak and Spring Security
Stars: ✭ 40 (+17.65%)
Mutual labels:  keycloak
keycloak-phone-provider
A Keycloak provider which phone and SMS
Stars: ✭ 83 (+144.12%)
Mutual labels:  keycloak
keycloak-sso
custom account management template, keycloak authentication and authorization
Stars: ✭ 41 (+20.59%)
Mutual labels:  keycloak
Supertokens Core
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
Stars: ✭ 2,907 (+8450%)
Mutual labels:  keycloak
scim-for-keycloak
a third party module that extends keycloak by SCIM functionality
Stars: ✭ 127 (+273.53%)
Mutual labels:  keycloak
ProxyInjector
A Kubernetes controller to inject an authentication proxy container to relevant pods - [✩Star] if you're using it!
Stars: ✭ 77 (+126.47%)
Mutual labels:  keycloak
keycloak-dropwizard-integration
This project shows how JBoss Keycloak and Dropwizard can be used together.
Stars: ✭ 49 (+44.12%)
Mutual labels:  keycloak
vagrant-codes-in-practice
Vagrant code files similar to the real bare metal environments
Stars: ✭ 22 (-35.29%)
Mutual labels:  keycloak
oidckube
Wrapper for minikube that provisions and integrates it with Keycloak
Stars: ✭ 40 (+17.65%)
Mutual labels:  keycloak
keycloak-restrict-client-auth
A Keycloak authenticator to restrict authorization on clients
Stars: ✭ 34 (+0%)
Mutual labels:  keycloak
Keycloak
Open Source Identity and Access Management For Modern Applications and Services
Stars: ✭ 10,826 (+31741.18%)
Mutual labels:  keycloak
keycloak-kafka
Keycloak module to produce events to kafka
Stars: ✭ 56 (+64.71%)
Mutual labels:  keycloak
Keycloak.Net
C# client for Keycloak 6.x
Stars: ✭ 100 (+194.12%)
Mutual labels:  keycloak
keycloak-clustered
keycloak-clustered extends Keycloak docker image. It allows to run easily a cluster of Keycloak instances
Stars: ✭ 80 (+135.29%)
Mutual labels:  keycloak
keycloak-mail-whitelisting
Keycloak extension to whitelist email adresses domain when users register
Stars: ✭ 36 (+5.88%)
Mutual labels:  keycloak
spring-boot-web-application-sample
Real World Spring Boot Web Application Example with tons of ready to use features
Stars: ✭ 143 (+320.59%)
Mutual labels:  keycloak
spid-keycloak-provider
Italian SPID authentication provider for Keycloak (https://www.keycloak.org/)
Stars: ✭ 48 (+41.18%)
Mutual labels:  keycloak
oso-backend
Heart of the oso project.
Stars: ✭ 12 (-64.71%)
Mutual labels:  keycloak
keycloak-springsecurity5-sample
Spring Security 5 OAuth2 Client/OIDC integration with Keycloak sample
Stars: ✭ 55 (+61.76%)
Mutual labels:  keycloak

⛔️ Deprecated ⛔️: New starters CSS Only -- Component level customization

⚠️ Please read the two following notices ⚠️

This setup is for CSS-level customization, if you want to customize the pages at the component level heads over to the look_and_feel branch.

If you are only looking to create a theme and don't care about integrating it into a preexisting React app there are a lot of things that you can remove. Please read this.

Introduction

This repo constitutes an easily reusable CI setup for SPA React App in general, and Apps that generates Keycloaks's theme using keycloakify in particular.

The CI workflow

  • This CI is configured to both publish on GitHub Pages and on DockerHub. In practice you probably want one or the other but not both.
    We deploy the demo app at demo-app.keycloakify.dev using GitHub page on the branch gh-pages (you have to enable it).
    To configure your own domain name please refer to this documentation.
  • To release don't create a tag manually, the CI do it for you. Just update the package.json's version field and push.
  • The .jar files that bundle the Keycloak theme will be attached as an asset with every GitHub release. Example. The permalink to download the latest version is: https://github.com/USER/PROJECT/releases/latest/download/keycloak-theme.jar. For this demo repo it's here
  • The CI publishes the app docker image on DockerHub. <org>/<repo>:main for each commit on main, <org>/<repo>:<feature-branch-name> for each pull-request on main and when releasing a new version: <org>/<repo>:latest and <org>/<repo>:X.Y.Z See on DockerHub
  • A CHANGELOG.md will be maintained for you using the commit messages between releases. If you don't want a specific commit to appear in the changelog do something like. git commit -am "yadi yada (changelog ignore).

image

image

If you want an example of an app that put that setup in production checkout onyxia-ui: the repo, the login, the app.

This repo is currently configured to build the theme with --external-assets. If your keycloak pages need to stay up even when your app is down you should remove --external-assets here.

Docker

docker build -f Dockerfile -t garronej/keycloakify-demo-app:test .
#OR (to reproduce how the image is built in the ci workflow):
yarn && yarn build && tar -cvf build.tar ./build && docker build -f Dockerfile.ci -t garronej/keycloakify-demo-app:test . && rm build.tar

docker run -it -dp 8083:80 garronej/keycloakify-demo-app:test

DockerHub credentials

To enables the CI to publish on DockerHub on your behalf go to repository Settings tab, then Secrets you will need to add two new secrets:

  • DOCKERHUB_TOKEN, you Dockerhub authorization token.
  • DOCKERHUB_USERNAME, Your Dockerhub username.

Standalone keycloak theme

If you are only looking to create a keycloak theme, there are a lot of things you should remove after clicking image:

  • You can remove all things related to building a docker image and publishing on github pages: remove these lines and this line from .github/workflows/ci.yaml.
  • All the assets will need to be served by Keycloak: remove --external-assets from this line.
  • You can remove /Dockerfile, Dockerfile.ci ,/.dockerignore and /nginx.conf
  • You can assume the app will only run in the context of Keycloak so you can remove these lines in src/index.tsx (and you can, of course, remove src/App.tsx, App.css ect...).
  • You can remove the homepage field from the package.json

For the rest all stays the same, when your theme is ready, just upgrade the version in package.json and push.
You will find your theme packaged in a .tar file in the GitHub releases of your project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].