---
# System prepended metadata

title: Design Patterns Call
tags: [design]

---

# Design Patterns
Call run by @alexbabeanu on Jan 25th 2024

## Pattern 1: Provisioning
1. Leads to role explosion
2. Unsure which entitlements users have
3. Resources are black boxes
4. It's easy to roll out - it's RBAC - it's the way we've been working for the past 20+ years

## Pattern 2: Token(OAuth)-based
A user logs into an application, we mint a token that contains all of the authorization data the app will eventually consume. It's a form of JIT provisioning
1. Leads to token bloat
2. Coarse-grained

## Pattern 3: Runtime Authorization (PEP-PDP)
Theoretically the best approach but it requires that applications/resources be onboard. It requires tighter integration.
1. How can we bridge Pattern 2 and Pattern 3?
2. How can we drive adoption of pattern 3?
    1. The work done in the other stream (PEP-PDP) isn't enough to drive adoption


## Pattern 3.1

Let's bridge OAuth and Authorization via RAR or other means

## Why do all this?

ZT!


## Recommendations to the world

* Prefer Pattern 3 over Pattern 2 for FGA
* if you have to do Authorization in Pattern 2, consider the IdP/AS as an Application and companion a PDP to it