GithubHelp home page GithubHelp logo

mukeshk740 / keycloak-bookshop-demo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dasniko/keycloak-bookshop-demo

0.0 0.0 0.0 160 KB

Demo for how to integrate Keycloak into Quarkus and React apps and services. All (most) kinds of authentication (web app, service account, client, bearer-only...)

Shell 25.85% JavaScript 13.70% Java 41.78% HTML 14.23% Dockerfile 4.43%

keycloak-bookshop-demo's Introduction

Keycloak Bookshop Demo

Demo application landscape to show various and different kinds of user- and client authentication with Keycloak in a distributed environment with web applications and services.

Description and Use Case

It’s kind of a web shop, selling books.

Users can access the shop and the checkout, both are web apps. They have to authenticate themselves using their credentials with Keycloak and web apps using the Authorization Code Flow to get the users access token via code-to-token exchange from the Keycloak server (using backchannel in shop app). The shop is a Quarkus based application, using Quarkus Extensions, the checkout is a React.JS based application, using the keycloak-js JavaScript Adapter.

The shop gets its products from the pim (product information management) service, also a Quarkus based service, dealing with BearerOnly token validation.

The cart service (Quarkus based) stores the products a user wants to "buy". So, it has to be accessed in the context of the user, but users can’t access it directly, that’s why the web apps (both, shop and checkout) have to propagate the users access token to the cart.

Architectural Overview

architecture

Docker Image

There is a public Docker image available with this distributed bookshop example. Simply pull the image from the official Docker Hub:

$ docker pull dasniko/bookshop:latest

The configuration of the apps and services in the Docker image is aligned with the bookshop-realm.json realm JSON export available here in the repository root.

The apps and services expect Keycloak to be available under hostname/port http://keycloak:8080.

keycloak-bookshop-demo's People

Contributors

dasniko avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.