Secrets

Les secrets sont des valeurs propres à votre application (clés d'API, jetons, chaînes de connexion), tenues hors de votre code source. Vos pages, loaders, actions et routes API les lisent comme variables d'environnement.

Lire une valeur

const key = process.env.STRIPE_KEY;

process.env ne contient que les variables déclarées pour votre site, plus quelques variables neutres comme NODE_ENV et TZ. Chaque site voit ses propres valeurs : deux applications de la plateforme ne lisent jamais les variables l'une de l'autre.

Déclarer des valeurs

Les réglages non secrets vont dans le bloc [env] de bext.config.toml :

[env]
NODE_ENV = "production"
PUBLIC_BASE_URL = "https://my-app.inklura.fr"
Attention

bext.config.toml fait partie de votre code source : n'y mettez jamais un vrai secret. Les valeurs secrètes sont fournies à votre application par la plateforme, en dehors de votre dépôt, et apparaissent dans process.env aux côtés des valeurs de [env]. Quand les deux définissent le même nom, la valeur de [env] l'emporte.

Les modifications de [env] sont prises en compte sans redémarrage.

Le namespace secrets du SDK

Le client createSdk (voir la Présentation du SDK) expose secrets.get(key), typé Promise<string | null>. Il ne lève jamais d'erreur et retourne null quand rien n'est trouvé.

import { createSdk } from "@bext-stack/framework/sdk";

const sdk = createSdk("<app-id>");
const token = await sdk.secrets.get("WEBHOOK_TOKEN"); // string | null
Note

sdk.secrets.get(nom) retourne un secret que la plateforme a provisionné pour votre application, ou null s'il n'existe pas. Pour vos propres valeurs (clés d'API, jetons), lisez process.env comme ci-dessus.

Et ensuite

Page Ce qu'elle couvre
Présentation du SDK Le client createSdk
Référence de configuration bext.config.toml
KV Store Store de chaînes durable