...
| Info |
|---|
De base, Wordpress peut être long à retourner les informations demandées par le backend (pic parfois jusqu'à 2 secondes pour l'ensemble des features pour un utilisateur). Pour palier à ce problème, du cache a été mis en place du côté du Connecteur CMS. Il est possible de personnaliser le TTL de chaque collection à mettre en cache sur le Connecteur CMS, mais pour certaines données qui n'évoluent pas beaucoup, il peut être intéressant de mettre un TTL assez long. Cependant il reste possible d'invalider le cache via une route d'API côté connecteur. La documentation suivante indique donc comment mettre en place des webhooks sur Wordpress, permettant d'appeler ces routes d'invalidation de cache dés qu'un post est créé, modifié ou supprimé depuis l'interface d'administration de Wordpress. |
...
Authentification JWT
Les routes d'invalidation du cache du Connecteur CMS sont protégées par la stratégie JWT HS256 mise en place pour les échanges entre le backend multi et le connecteur CMS.
Il convient donc de créer un bearer token à partir de la clé privée TOKEN_SECRET fixée dans le fichier .env du Connecteur CMS pour que le plugin Wordpress utilisé soit capable de communiquer avec.
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
{
"service": "wordpress",
"iss": "multi-cms-connector"
} |
Une fois le Bearer Token créé, il faut le renseigner dans la configuration du plugin wp-webhooks. Pour cela, se rendre dans Réglages > WP Webhooks dans la barre latérale, puis cliquer sur l'onglet Authentication, et enfin sur le bouton Create Template.
Dans la modal qui s'ouvre, donnez un nom à votre template d'authentification, par exemple cms-connector, et comme type d'auth choisissez Bearer Token.
Cliquez ensuite sur les 3 points verticaux de la colonne action de votre template, puis sélectionnez Settings.
Dans la nouvelle modal qui s'ouvre, laissez Bearer comme Scheme, et collez votre bearer précédemment créé dans l'input Token. Enfin cliquez sur Save Template.
Mise en place des Webhooks
Optimisation et sécurité du CMS
...

