Demo for Keycloak Authorization Services Integration in ASP.NET Core and Angular.
Start
Use
docker-compose up
to start Keycloak, the API and Angular Frontend.
Urls
| System |
Url |
| Keycloak |
http://localhost:8080 |
| API |
http://localhost:5000 |
| Frontend |
http://localhost:4200 |
Logins
| Username |
Password |
Description |
| admin |
admin |
Keycloak admin user |
| alice |
alice |
Sales person (Can edit & delete customer. Can create projects) |
| bob |
bob |
Projectmanager (Can delete projects. Can archive projects where he is lead) |
Point of interest
API
| File |
Description |
| startup.cs |
Configures ASP.NET Core authorization policies |
| DecisionRequirementHandler.cs |
Handles decision requirements |
| RptRequirementHandler |
Handles RPT requirements |
Frontend
| File |
Description |
| keycloak.service.ts |
getEntitlement requests a RPT from Keycloak. |
| keycloak.service.ts |
loadPermission loads all permissions from Keycloak to make them available in the client. |
| backend.interceptor.ts |
interceptor that uses either RPT or normal Access Token depending on the URL |
Related Links