Gatey JavaScript API Amazon Cognito-bejelentkezéshez

A Gatey nyilvános futásidejű felülete a WP Suite globális objektum alatt érhető el:

  • globalThis.WpSuite.plugins.gatey (bővítményobjektum)
  • globalThis.WpSuite.plugins.gatey.cognito (Cognito- és munkamenet-segédek)

Eltérő jelzés hiányában minden segédmetódus aszinkron, és Promise értéket ad vissza.


Futásidejű segédek (megosztott WP Suite-szerződés)

A WP Suite-bővítmények egy kisméretű, közös futásidejű szerződésen osztoznak, amelyet az @smart-cloud/wpsuite-core biztosít.

Segéd hozzáférési függvények

Ha az @smart-cloud/wpsuite-core csomagot is beépíti, ezeket is használhatja:

  • getWpSuite() → visszaadja a globális WpSuite objektumot, vagy undefined értéket
  • getPlugin("gatey" | "...") → visszaad egy bővítményobjektumot a nyilvántartásból

Ezek a globalThis.WpSuite vékony burkolói.

Bővítményállapot

A WpSuite.plugins.gatey.status lehetséges értékei:

  • unavailable — a bővítmény nincs jelen, vagy még nincs inicializálva
  • initializing — indulás folyamatban
  • available — használatra kész
  • error — az inicializálás sikertelen

Várakozás a Gatey készenlétére

Három gyakori várakozási mód van:

1) onReady(cb)

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

2) availability() (várakozás készenlétre időkorláttal)

Feloldása available, unavailable vagy error értéket ad; initializing értéket soha.

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

3) A Gatey-mag burkolói (waitForGateyReady)

Ha összeállítása tartalmazza a Gatey alapcsomagját, használhatja annak kényelmi burkolóit:

  • getGateyPlugin()
  • waitForGateyReady(timeoutMs = 8000)

Ezek vékony segédek az alábbi események fölött.

Készenléti és hibaesemények

A Gatey figyelhető DOM-eseményeket bocsát ki:

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

Cognito-segédmetódusok

Az alábbi metódusok a WpSuite.plugins.gatey.cognito alatt találhatók.

MetódusVisszatérési értékFelhasználási eset
getUsername()stringAz aktuális felhasználónév megjelenítése.
getUserAttributes()objectŰrlap előzetes kitöltése profiladatokkal.
getMfaPreferences()objectAz MFA-állapot megjelenítése.
clearMfaPreferences()voidA TOTP egykattintásos kikapcsolása.
isAuthenticated()booleanÚtvonal vagy művelet védelme.
isInGroup("admin")booleanSzerepköralapú kezelőfelület.
getGroups()string[]Jelvénylista megjelenítése.
getRoles()string[]IAM-szerepkörváltó vagy szerepkört figyelembe vevő kezelőfelület.
getScopes()string[]Hatókört figyelembe vevő gombok.
getPreferredRole()stringSzerepkör automatikus kiválasztása.
setLanguage("en")voidA Hitelesítő felületi nyelvének átváltása.

Példa: felhasználó és szerepkörök megjelenítése

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());

Megjegyzések

  • A hívásokat mindig védje opcionális láncolással (?.), mert előfordulhat, hogy a Gatey nincs telepítve az oldalon.
  • Gateytől függő bővítmény vagy téma írásakor lekérdezéses figyelés helyett részesítse előnyben az availability(), onReady() vagy waitForGateyReady() használatát.