在Access Token中添加设备ID信息
下面是一个示例代码,演示如何在Access Token中添加设备ID信息:
// 生成Access Token
function generateAccessToken(userId, deviceId) {
// 生成JWT Payload
let payload = {
sub: userId,
iat: Date.now() / 1000,
device_id: deviceId // 添加设备ID信息
};
// 使用私钥签名JWT
let token = jwt.sign(payload, privateKey);
return token;
}
// 验证Access Token
function verifyAccessToken(token) {
// 使用公钥验证JWT签名,并解析Payload
let decoded = jwt.verify(token, publicKey);
// 检查Payload中的设备ID信息
if (!decoded.device_id) {
throw new Error('Missing device_id');
}
// 验证通过,返回Payload中的用户ID和设备ID信息
return {
userId: decoded.sub,
deviceId: decoded.device_id
};
}
上述示例中,在生成Access Token时,将设备ID信息添加到JWT Payload中;在验证Access Token时,首先验证JWT签名,并解析Payload,然后检查Payload中的设备ID信息是否存在。