我已导入@ nestjs / jwt模块,并且在我的usermodule中具有以下内容:
function listAllUsers(nextPageToken) {
// List batch of users, 1000 at a time.
admin.auth().listUsers(1000, nextPageToken)
.then(function(listUsersResult) {
listUsersResult.users.forEach(function(userRecord) {
const user = userRecord.toJSON();
if (!user.emailVerified) {
admin.auth().deleteUser(user.uid)
.then(function() {
console.log("Successfully deleted user");
})
.catch(function(error) {
console.log("Error deleting user:", error);
});
}
});
if (listUsersResult.pageToken) {
// List next batch of users.
listAllUsers(listUsersResult.pageToken)
}
})
.catch(function(error) {
console.log("Error listing users:", error);
});
}
// Start listing users from the beginning, 1000 at a time.
listAllUsers();
我是根据jwks端点生成的pubkey。服务器具有密钥轮换功能,我正在尝试进行检查以确保我的签名对新密钥有效。如果我拥有的密钥无效,则无法获取新密钥并使用它。为此,我有以下代码。
const pubkey = fs.readFileSync('./src/certs/client.key.pub');
@Module({
imports: [JwtModule.register({ publicKey: pubkey}), JwtHelper,
HttpModule],
providers: [UserService, JwtHelper],
controllers: [UserController],
exports: [UserService],
})
但是只要再次出现验证我得到一个错误的信息,那就是我的签名无效。我已经检查并确保正确保存了密钥,并且使用jwt.io捕获的密钥是有效的公共密钥,但是在将新密钥写入文件后,我无法让JWT模块识别新密钥。 / p>