Bartosz Pietrucha
Full-stack role-based authorization in 45 minutes
#1about 1 minute
Differentiating between authentication and authorization
Authentication verifies a user's identity, while authorization determines what actions that verified user is permitted to perform.
#2about 3 minutes
Visualizing a role-based multi-user application flow
A conceptual walkthrough shows how different user roles, like owner and reader, experience different UIs and permissions within the same account.
#3about 1 minute
Structuring a domain model for multi-user accounts
A simple data model links users and shared entities back to a parent account, creating a clear boundary for permissions.
#4about 3 minutes
Sharing TypeScript models in a full-stack monorepo
Use TypeScript path mapping in a monorepo to reference a single source of truth for domain models, avoiding code duplication between the client and server.
#5about 3 minutes
Implementing permission logic based on business rules
Authorization logic is built by asking key questions, such as whether an entity belongs to the user's account and if the user's role permits the requested action.
#6about 1 minute
Designing a secure API using protected URL zones
Structure API endpoints with prefixes like `/api/app` to create a protected zone where authorization middlewares are consistently applied.
#7about 1 minute
Using a user auth object to manage state
The frontend receives and stores a user auth object or decodes a JWT after login to know the current user's ID and role for UI decisions.
#8about 5 minutes
Protecting client-side routes with Angular router guards
Angular's `canActivate` and `canLoad` guards prevent unauthorized users from accessing certain application routes, improving the user experience.
#9about 4 minutes
Implementing authorization with interceptors and middlewares
Frontend HTTP interceptors attach auth tokens to outgoing requests, while backend middlewares enforce permission rules on protected API routes.
#10about 2 minutes
Conditionally rendering UI with a custom Angular directive
A custom structural directive like `*forRoles` provides a declarative way to show or hide UI elements based on the current user's role.
#11about 9 minutes
Live demo of a full-stack RBAC implementation
A practical demonstration shows how a reader role is prevented from modifying data, both through the UI and by attempting to bypass it with direct API calls.
#12about 7 minutes
A seven-step guide to securing modern web apps
A bonus overview covers key security practices, including understanding the web security model, choosing an auth architecture, and implementing logging.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
23:10 MIN
A modern approach using a decoupled authorization service
Un-complicate authorization maintenance
51:51 MIN
Audience Q&A on signals and Angular development
Angular Signals: what's all the fuss about?
41:16 MIN
Answering audience questions on authorization best practices
Un-complicate authorization maintenance
19:14 MIN
Securing APIs with JWT, RBAC, and CORS
API = Some REST and HTTP, right? RIGHT?!
41:06 MIN
Q&A on graph databases, custom resolvers, and security
Putting the Graph In GraphQL With The Neo4j GraphQL Library
38:18 MIN
Q&A on GraphQL federation and Next.js authentication
GraphQL + Apollo + Next.js: A Lovely Trio
06:03 MIN
How authorization logic evolves into spaghetti code
Un-complicate authorization maintenance
39:50 MIN
Using the open source project Cerbos for authorization
Un-complicate authorization maintenance
Featured Partners
Related Videos
Un-complicate authorization maintenance
Alex Olivier
Meet Your New BFF: Backend to Frontend without the Duct Tape
Noam Honig
Security in modern Web Applications - OWASP to the rescue!
Jakub Andrzejewski
State of Angular
Jessica Janiuk
Angular tips/tricks you can use from tomorrow on
Benedikt Starzengruber
Angular Unleashed: Mastering Modern Web Development with Angular
Indu Chaube
Angular Features You Should be Using
Sani Yusuf
Angular Magical directives
Valentine Awe
From learning to earning
Jobs that call for the skills explored in this talk.

Frontend Developer (Angular)
Picnic Technologies B.V.
Amsterdam, Netherlands
Intermediate
Senior
CSS
RxJS
JavaScript

Fullstack TypeScript Developer - Angular / Node.js (remote)
PDR.cloud GmbH
Remote
Intermediate
CSS
RxJS
REST
Azure
+12


Lead Fullstack Developer - TypeScript / Angular / Node.js
PDR.cloud GmbH
Senior
CSS
RxJS
REST
Azure
Node.js
+8



Strong Middle Full stack developer (Node.js, React.js, AWS)
Visarsoft GmbH
Intermediate
CSS
SASS
REST
Azure
React
+8

