При создании веб-приложений важно безопасно управлять аутентификацией пользователей. Для этого есть две основные библиотеки:
bcryptjs – используется для безопасного хеширования и сравнения паролей.
Веб-токен JSON — используется для подписи и проверки токенов JWT для аутентификации пользователя.
Мы расскажем, как реализовать эти две библиотеки в вашем приложении Node.js для безопасного управления паролями и аутентификации на основе токенов.
Как использовать bcryptjs и jsonwebtoken в Node.js
При создании веб-приложений важно безопасно управлять аутентификацией пользователей. Для этого есть две основные библиотеки:
Установочный пакет
npm установить bcryptjs
Теперь позвольте мне показать вам, как творить чудеса.
Все то же самое, все то же самое, создайте новый js-файл и всегда не забывайте требовать пакет.
const { hashSync, compareSync } = require("bcryptjs"); module.exports = { hashPassword: (password) => hashSync(password), comparePassword: (password, hashed) => compareSync(password, hashed };
Как это работает:
hashSync(пароль): Хеширует пароль пользователя.
CompareSync(пароль, hashedPassword): сравнивает простой текстовый пароль с хешированной версией для проверки входа пользователя.
Установите пакет:
npm установить jsonwebtoken
jsonwebtoken позволяет нам создавать безопасный токен (JWT) для каждого аутентифицированного пользователя. Этот токен отправляется клиенту и может использоваться для аутентификации пользователя при последующих запросах.
const { sign, verify } = require('jsonwebtoken'); const secretkey = "yoursecretkey"; // Secret key to sign the token module.exports = { logToken: (payload) => log(payload, secretkey), // Create JWT token verifyToken: (token) => verify(token, secretkey) // Verify JWT token };
Как это работает:
SignToken(payload): создает подписанный JWT с заданной полезной нагрузкой (например, пользовательскими данными) с использованием секретного ключа.
verifyToken(token): проверяет подлинность токена JWT, используя тот же секретный ключ.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3