An open API service indexing awesome lists of open source software.

https://github.com/nanhtuan30/keycloak_frontend

Fullstack project with Angular (17.3.17) frontend and Spring Boot (3.5.5) backend integrated with Keycloak (26.3.1) for authentication and authorization.
https://github.com/nanhtuan30/keycloak_frontend

angular authentication authorization jwt keycloak security spring-boot sso

Last synced: about 2 months ago
JSON representation

Fullstack project with Angular (17.3.17) frontend and Spring Boot (3.5.5) backend integrated with Keycloak (26.3.1) for authentication and authorization.

Awesome Lists containing this project

README

          

# 🖥️ KeycloakFrontend

This project was generated with [**Angular CLI**](https://github.com/angular/angular-cli) frontend version 17.3.17. It integrated with a [**Spring Boot**](https://start.spring.io/) backend version 3.5.5 and [**Keycloak**](https://www.keycloak.org/downloads) version 26.3.1 for authentication and authorization.

## 🚀 Features
- User login & logout with Keycloak (SSO).
- Token-based authentication using **JWT**.
- Role-based access control (RBAC).
- Protected routes with **AuthGuard**.
- HTTP Interceptor to attach tokens automatically.
- User registration and profile integration.

## 🛠️ Tech Stack
- [Angular](https://angular.io/) 17.3.17 (standalone components)
- [Keycloak](https://www.keycloak.org/) 26.3.1
- [TypeScript](https://www.typescriptlang.org/)
- [RxJS](https://rxjs.dev/)
- [Bootstrap / Tailwind] (optional UI styling)

## 📦 Installation
```
# Install dependencies
npm install
```

## 💿 Development Setup

### Prerequisites

- Install [Node.js] which includes [Node Package Manager][npm]

### Setting Up a Project

Install the Angular CLI globally:

```
npm install -g @angular/cli
```

Create workspace:

```
ng new keycloak-frontend
```

Run the application:

```
cd keycloak-frontend
ng serve
```
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.

## 👩‍💻 Code scaffolding

Generate a new component.

```
ng generate component component-name
```

For example: `ng generate component login` to generate a login component, which creates files with extensions like `.html` (for the template), `.scss` (for the stylesheet), and `.ts` (for the TypeScript class).

You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## 🛠️ Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.

## 🛎️ Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## 🛎️ Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

## 🆘 Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.