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.
- Host: GitHub
- URL: https://github.com/nanhtuan30/keycloak_frontend
- Owner: nanhtuan30
- Created: 2025-08-25T15:36:29.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-09-12T07:47:27.000Z (9 months ago)
- Last Synced: 2025-10-18T08:12:43.697Z (8 months ago)
- Topics: angular, authentication, authorization, jwt, keycloak, security, spring-boot, sso
- Language: TypeScript
- Homepage:
- Size: 173 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.