asgardeo / asgardeo/javascript

[UMBRELLA ☂️] SDK Extension Points

Aperta
#469 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Type/New Feature umbrella
Lingua principale
TypeScript
Stelle
18
Fork
67
Merge medio
4h 6m
PR unite (30g)
13

Descrizione

### Problem

The Asgardeo SDK is currently a closed system. It ships with fixed behavior for rendering, flow handling, theming, and authentication logic. Consumers who need to adapt the SDK to their product — different design systems, custom flow steps, non-standard component types, bespoke UI patterns — have no supported way to do so. The only escape hatch today is forking or wrapping SDK internals, which breaks on upgrades and couples consumers to implementation details.

As adoption grows, this rigidity becomes a ceiling. Products built on the SDK inevitably hit cases the SDK didn't anticipate, and without extension points, those teams are blocked.

### Proposed Solution

Introduce a first-class, documented extension model that allows consumers to plug into the SDK at well-defined boundaries — without forking, without bypassing internals, and without waiting for the SDK team to implement every edge case.

Areas where extensions are needed

1. UI rendering — Replace or supplement how specific component types are rendered (e.g. swap the built-in password field for a custom design system component, or handle a server-emitted component type the SDK doesn't know about)
2. Flow lifecycle hooks — React to flow events (step transitions, errors, completions) with custom side effects or analytics
3. Authentication behavior — Override or augment how specific authenticator types are handled
4. Field validation — Plug in custom validation logic per field or component type
5. Theming and styling — Go beyond CSS variable overrides to control rendering structure

A structured `extensions` API on the SDK provider that serves as the canonical entry point for all consumer customizations, with each area having a clear, typed, and stable contract.

### Alternatives

N/A

### Please select the package issue is related to

other

### Version

N/A

### Reporter Checklist

- [x] I have searched the existing issues and this is not a duplicate.
- [x] I have provided all the necessary information.
- [x] I have verified the feature on the latest version of the package.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Non vengono indicati file, test o punti di ingresso concreti. Inizia esaminando il provider dell’SDK e le API esistenti per rendering, flusso, autenticazione, validazione e theming, quindi definisci i confini e i contratti tipizzati per una API di estensioni strutturata. Il lavoro è completato quando il modello di estensioni è implementato e documentato in tutte le aree di personalizzazione richieste.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
authentication, developer-experience, frontend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.