验证Google ID令牌时如何指定域名

时间:2019-05-21 16:25:55

标签: node.js google-signin gsuite

我正在编写一个函数来验证Google ID令牌。我严格遵守the documentation,但我坚持最后一步。令牌必须来自特定的G-suite域。下面的代码段来自文档,但我不知道如何解释。我可以将hd替换为mydomain.com吗?如何指定我的域名?

// If request specified a G Suite domain:
// const domain = payload['hd'];

请让我知道我是否在此问题中省略了任何其他详细信息。我当前的代码没有问题,但我会在此处添加一些代码段作为上下文:

const token = getToken(event);
const client = new OAuth2Client(CLIENT_ID);

async function verify() {

  const ticket = await client.verifyIdToken({
    idToken: token,
    audience: CLIENT_ID
  });

  const payload = ticket.getPayload();
  const userid = payload['sub'];

  }

  // const domain = payload['hd'];

  verify().catch(console.error);

1 个答案:

答案 0 :(得分:1)

'hd'是有效负载中域值的键...如果已设置,那么domain = payload['hd']将为您提供用户域作为字符串,您可以检查其是否与yourdomain.com匹配