The goal of this project is to secure movies-app using Keycloak(with PKCE). movies-app consists of two applications: one is a Spring Boot Rest API called movies-api and another is a ReactJS application called movies-ui
- Java
- SpringBoot
- KeyCloack
- MongoDB
- Angular
- NgPrime (ui-library)
- TypeScript
- imdbId API
- Docker
- KeyCloack
-
Spring Boot
Web Java backend application that exposes a REST API to manage movies. Its secured endpoints can just be accessed if an access token (JWT) issued byKeycloak
is provided.movies-api
stores its data in aMongo
database.movie-api
has the following endpointsEndpoint Secured Roles GET /api/userextras/me
Yes MOVIES_MANAGER
andUSER
POST /api/userextras/me -d {avatar}
Yes MOVIES_MANAGER
andUSER
GET /api/movies
No GET /api/movies/{imdbId}
No POST /api/movies -d {"imdb","title","director","year","poster"}
Yes MOVIES_MANAGER
DELETE /api/movies/{imdbId}
Yes MANAGE_MOVIES
POST /api/movies/{imdbId}/comments -d {"text"}
Yes MOVIES_MANAGER
andUSER