@لوئیکولینLoïc Poullain
توسعه دهنده Fullstack. خالق FoalTS.
این مقاله برخی از پیشرفت های معرفی شده در نسخه 2 FoalTS را ارائه می دهد:
- ابزارهای JWT برای مدیریت اسرار و کلیدهای RSA ،
- ابزارهای JWT برای مدیریت کوکی ها ،
- و محافظت از CSRF بدون شهروندی جدید.
JWT – دسترسی به اسرار پیکربندی و کلیدهای عمومی / خصوصی
با شروع از نسخه 2 ، یک روش استاندارد برای تهیه و بازیابی اسرار JWT و کلیدهای عمومی / خصوصی RSA وجود دارد: توابع
getSecretOrPublicKey
و
getSecretOrPrivateKey
.
استفاده از اسرار
در این مثال ، یک راز رمزگذاری شده با base64 در پیکربندی ارائه شده است.
JWT_SECRET="Ak0WcVcGuOoFuZ4oqF1tgqbW6dIAeSacIN6h7qEyJM8="
settings:
jwt:
secret: "env(JWT_SECRET)"
secretEncoding: base64
هر دو
getSecretOrPublicKey
و
getSecretOrPrivateKey
توابع راز را برمی گرداند.
در مورد الف
secretEncoding
مقدار ارائه می شود ، توابع یک بافر را برمی گردانند که راز رمزگذاری شده با رمزگذاری ارائه شده است.
استفاده از کلیدهای عمومی و خصوصی
const { Env } = require('@foal/core');
const { readFileSync } = require('fs');
module.exports = {
settings: {
jwt: {
privateKey: Env.get('RSA_PRIVATE_KEY') || readFileSync('./id_rsa', 'utf8'),
publicKey: Env.get('RSA_PUBLIC_KEY') || readFileSync('./id_rsa.pub', 'utf8'),
}
}
}
در این مورد،
getSecretOrPublicKey
…