Gatey-JavaScript-API für die Amazon-Cognito-Anmeldung

Gatey stellt seine öffentliche Laufzeitschnittstelle über das globale WP-Suite-Objekt bereit:

  • globalThis.WpSuite.plugins.gatey (Plugin-Objekt)
  • globalThis.WpSuite.plugins.gatey.cognito (Cognito-/Sitzungs-Helfer)

Alle Helfer sind asynchron und geben – sofern nicht anders angegeben – ein Promise zurück.


Laufzeit-Helfer (gemeinsamer WP Suite-Vertrag)

WP-Suite-Plugins verwenden einen kleinen gemeinsamen Laufzeitvertrag aus @smart-cloud/wpsuite-core.

Zugriffsfunktionen

Wenn Sie @smart-cloud/wpsuite-core paketieren, können Sie zusätzlich verwenden:

  • getWpSuite() → gibt das globale WpSuite-Objekt zurück (oder undefined)
  • getPlugin("gatey" | "...") → gibt ein Plugin-Objekt aus der Registry zurück

(Diese Funktionen sind schlanke Wrapper um globalThis.WpSuite.)

Plugin-Status

WpSuite.plugins.gatey.status kann eins von folgenden Werten haben:

  • unavailable — Plugin nicht vorhanden / noch nicht initialisiert
  • initializing — Startvorgang
  • available — bereit zur Verwendung
  • error — Initialisierung fehlgeschlagen

Auf Verfügbarkeit warten

Es gibt drei übliche Wege:

1) onReady(cb)

globalThis.WpSuite?.plugins?.gatey?.onReady?.(() => {
console.log("Gatey is ready");
});

2) availability() (await-ready mit Timeout)

Liefert available, unavailable oder error zurück (niemals initializing).

const res = await globalThis.WpSuite?.plugins?.gatey?.availability?.();
if (res !== "available") {
console.warn("Gatey not available:", res);
}

3) Gatey-Core-Wrapper (waitForGateyReady)

Wenn Ihr Build das Gatey-Core-Paket enthält, können Sie diese Hilfsfunktionen verwenden:

  • getGateyPlugin()
  • waitForGateyReady(timeoutMs = 8000)

Diese Hilfsfunktionen verwenden die unten genannten Ereignisse.

Bereitschafts- und Fehlerereignisse

Gatey löst DOM-Ereignisse aus, auf die Sie reagieren können:

  • wpsuite:gatey:ready
  • wpsuite:gatey:error
window.addEventListener("wpsuite:gatey:ready", () => console.log("ready"));
window.addEventListener("wpsuite:gatey:error", () => console.log("error"));

Cognito-Hilfsmethoden

Die Methoden unten liegen unter WpSuite.plugins.gatey.cognito.

MethodeRückgabeAnwendungsfall
getUsername()stringAktuellen Benutzernamen anzeigen
getUserAttributes()objectEin Formular mit Profildaten vorausfüllen
getMfaPreferences()objectMFA-Status anzeigen
clearMfaPreferences()voidTOTP mit einem Klick deaktivieren
isAuthenticated()booleanEine Route oder Aktion schützen
isInGroup("admin")booleanRollenbasierte UI
getGroups()string[]Eine Badge-Liste rendern
getRoles()string[]IAM-Rollenumschalter / rollenbewusste UI
getScopes()string[]Scope-bewusste Buttons
getPreferredRole()stringBevorzugte Rolle automatisch auswählen
setLanguage("en")voidSprache der Authenticator-UI wechseln

Beispiel: Nutzer und Rollen anzeigen

const gatey = globalThis.WpSuite?.plugins?.gatey;
const cognito = gatey?.cognito;

const ok = (await gatey?.availability?.()) === "available";
if (!ok) return;

console.log("User:", await cognito.getUsername());
console.log("Roles:", await cognito.getRoles());

Hinweise

  • Nutzen Sie immer optionale Verkettung (?.), falls Gatey nicht auf der Seite installiert ist.
  • Wenn Sie ein Plugin/Theme entwickeln, das von Gatey abhängt, nutzen Sie lieber availability() / onReady() / waitForGateyReady() statt Polling.