-
Notifications
You must be signed in to change notification settings - Fork 18
Description
The draft uses the term “Backend for Frontend (BFF)” for a component that terminates OAuth, manages tokens and sessions, and forwards requests to downstream APIs.
The concern is not the pattern itself, but the terminology.
In common architectural usage, a BFF is intentionally application- or frontend-specific, tightly coupled to a single UI, and not generic or reusable infrastructure.
The pattern described here is different:
- no UI- or application-specific logic
- stable, security-driven responsibilities
- realistically reusable across multiple frontends
- suitable for implementation as off-the-shelf API gateway functionality
While a BFF can perform these functions, they are not distinguishing characteristics: the same responsibilities can equally be fulfilled by a generic, reusable proxy component. As such, the described component no longer matches the defining property of a BFF.
This terminology mismatch may cause confusion around architecture, ownership, and responsibilities.
Possible mitigations:
- explicitly clarify that this is a security-focused, proxy-style pattern and not a UI-specific backend
- note the difference from the common architectural meaning of BFF
- consider more precise terminology (e.g. "frontend-facing OAuth proxy" or simply "proxy")
This would improve clarity without changing the technical substance of the draft.