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álisWpSuiteobjektumot, vagyundefinedértéketgetPlugin("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álvainitializing— indulás folyamatbanavailable— használatra készerror— 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:readywpsuite: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ódus | Visszatérési érték | Felhasználási eset |
|---|---|---|
getUsername() | string | Az aktuális felhasználónév megjelenítése. |
getUserAttributes() | object | Űrlap előzetes kitöltése profiladatokkal. |
getMfaPreferences() | object | Az MFA-állapot megjelenítése. |
clearMfaPreferences() | void | A TOTP egykattintásos kikapcsolása. |
isAuthenticated() | boolean | Útvonal vagy művelet védelme. |
isInGroup("admin") | boolean | Szerepkö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() | string | Szerepkör automatikus kiválasztása. |
setLanguage("en") | void | A 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()vagywaitForGateyReady()használatát.
