Google 使用节点证书的 IAP 已过期错误?

Google IAP using Node certificate has expired error?

我有一个节点服务器需要连接到受 IAP(身份识别代理)保护的 API 端点。来自 Google 的以下示例似乎没有 certificate has expired 错误。我相信我只需要随请求一起发送 rejectUnauthorized: false,但我不确定如何实现它。

更新

我能够通过添加 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; 强制它工作,但据我了解,与 rejectUnauthorized: false 相比,此选项更不安全。有什么见解吗?

'use strict';

const {JWT} = require('google-auth-library');

const keys = require('./jwt.keys.json');
const oauth2Keys = require('./iap.keys.json');

async function main() {
  const clientId = oauth2Keys.web.client_id;
  const client = new JWT({
    email: keys.client_email,
    key: keys.private_key,
    additionalClaims: {target_audience: clientId},
  });
  const url = `https://iap-demo-dot-el-gato.appspot.com`;
  const res = await client.request({url});
  console.log(res.data);
}

main().catch(console.error);

Link 到 Google 示例:https://github.com/googleapis/google-auth-library-nodejs/blob/502f43e651d7ccbd1cc19de513d5f5af5008ac03/samples/iap.js

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; 禁用 SSL 证书检查。