API JavaScript de Gatey pour la connexion Amazon Cognito
Gatey expose sa surface d'exécution publique sous le global WP Suite :
globalThis.WpSuite.plugins.gatey(objet du plugin)globalThis.WpSuite.plugins.gatey.cognito(assistants Cognito/session)
Toutes les méthodes d'assistance sont asynchrones et renvoient une Promise, sauf indication contraire.
Assistants d'exécution (contrat WP Suite partagé)
Les extensions WP Suite partagent un petit contrat d'exécution commun (depuis @smart-cloud/wpsuite-core).
Accesseurs d'assistance
Si vous embarquez @smart-cloud/wpsuite-core, vous pouvez aussi utiliser :
getWpSuite()-> renvoie l'objet globalWpSuite(ouundefined)getPlugin("gatey" | "...")-> renvoie un objet de plugin depuis le registre
(Ce sont de fines enveloppes autour de globalThis.WpSuite.)
État du plugin
WpSuite.plugins.gatey.status peut prendre l'une des valeurs suivantes :
unavailable- plugin absent / pas encore initialiséinitializing- en cours de démarrageavailable- prêt à l'emploierror- échec de l'initialisation
Attendre que Gatey soit prêt
Il existe trois façons courantes d'attendre :
1) onReady(cb)
globalThis.WpSuite?.plugins?.gatey?.onReady?.(() => {
console.log("Gatey is ready");
});
2) availability() (attente de disponibilité avec délai d'attente)
Renvoie available, unavailable ou error (elle ne renvoie jamais initializing).
const res = await globalThis.WpSuite?.plugins?.gatey?.availability?.();
if (res !== "available") {
console.warn("Gatey not available:", res);
}
3) Enveloppes du noyau Gatey (waitForGateyReady)
Si votre build inclut le package cœur Gatey, vous pouvez utiliser ses enveloppes de commodité :
getGateyPlugin()waitForGateyReady(timeoutMs = 8000)
Ce sont de fins assistants au-dessus des événements ci-dessous.
Événements de disponibilité / erreur
Gatey émet des événements DOM que vous pouvez écouter :
wpsuite:gatey:readywpsuite:gatey:error
window.addEventListener("wpsuite:gatey:ready", () => console.log("ready"));
window.addEventListener("wpsuite:gatey:error", () => console.log("error"));
Méthodes d'assistance Cognito
Les méthodes ci-dessous se trouvent sous WpSuite.plugins.gatey.cognito.
| Méthode | Renvoie | Cas d'usage |
|---|---|---|
getUsername() | string | Afficher le nom d'utilisateur courant. |
getUserAttributes() | object | Préremplir un formulaire avec les données de profil. |
getMfaPreferences() | object | Afficher l'état du MFA. |
clearMfaPreferences() | void | Désactivation TOTP en un clic. |
isAuthenticated() | boolean | Protéger une route ou une action. |
isInGroup("admin") | boolean | Interface basée sur les rôles. |
getGroups() | string[] | Afficher une liste de badges. |
getRoles() | string[] | Sélecteur de rôle IAM / interface sensible aux rôles. |
getScopes() | string[] | Boutons sensibles aux scopes. |
getPreferredRole() | string | Sélection automatique d'un rôle. |
setLanguage("en") | void | Changer la langue de l'interface Authenticator. |
Exemple : afficher l'utilisateur et les rôles
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());
Remarques
- Protégez toujours les appels avec le chaînage optionnel (
?.) au cas où Gatey ne serait pas installé sur la page. - Si vous écrivez un plugin ou un thème qui dépend de Gatey, préférez
availability()/onReady()/waitForGateyReady()plutôt que l'interrogation en boucle.
