Nest JS jwt模块密钥重新分配

时间:2018-10-11 21:33:03

标签: typescript jwt rsa public-key nestjs

我已导入@ 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>

0 个答案:

没有答案