You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
DC scope enforcement vocabulary doesn't match AS-issued ESPI FB scopes — customer tokens 403 on all resources #157
The authority a customer token actually carries (SCOPE_FB=4_5_15;...) matches none of these matchers ⇒ every customer-token call to /UsagePoint, /MeterReading, /Subscription/*/UsagePoint, etc. returns 403.
ESPI 4.0 scopes are FB=... function-block strings (the standard vocabulary the AS issues; see the FB-scope parser from PR A / [scope memory]). DC's FB_15_READ_3rd_party is a legacy/ad-hoc naming. The fix is almost certainly a custom DC authority mapping — an OpaqueTokenIntrospector (or Converter<OAuth2AuthenticatedPrincipal, ...>) that parses the ESPI FB scope into the function-block authorities DC enforces — reusing PR A's parser — rather than relying on stock raw SCOPE_<rawscope> mapping. Alternatively, align the two vocabularies.
Scope of fix
Decide the canonical authority vocabulary (ESPI FB grammar vs. DC's FB_n_READ/WRITE_3rd_party).
Implement the AS-scope → DC-authority mapping (custom introspector/authority converter).
Activity
fix(#157): enforce DC resources with ESPI 4.0 FB scopes, scrap legacy…
feat(#150): AS↔DC back-channel request/response wire contract (#165)
chore(#119): defer ESPI resource CRUD writes — delete write/admin con…