Laravel 9中如何使用JWT AUTH为用户生成Token?
用户注册时生成加密密码与Token的实现方案
加密密码存储:注册时必须对用户输入的明文密码进行哈希加密,避免明文存储风险。以常见的bcrypt算法为例:
const bcrypt = require('bcrypt'); const saltRounds = 10; // 密码加密函数 async function hashPassword(plainPassword) { return await bcrypt.hash(plainPassword, saltRounds); }注册时生成Token:用户数据存入数据库后,基于用户唯一ID生成JWT Token,用于后续身份验证:
const jwt = require('jsonwebtoken'); const SECRET_KEY = 'your-custom-secret-key'; // Token生成函数 function generateAuthToken(userId) { return jwt.sign({ userId: userId }, SECRET_KEY, { expiresIn: '7d' }); }完整注册流程:
- 接收用户提交的注册信息(用户名、密码等)
- 调用密码加密函数处理明文密码
- 将加密后的密码、用户名等信息写入数据库
- 生成Token并随注册成功结果返回给用户
内容的提问来源于stack exchange,提问作者Joao Victor Gonçalves Ramos
相关产品推荐
相关产品推荐

