verifyJwtSignatureWithKey()

in sample/app/server/verify-iap-jwt.js [114:131]


  verifyJwtSignatureWithKey(jwtToken, publicKey) {
    return new Promise((resolve, reject) => {
      jwt.verify(jwtToken, publicKey, {
        algorithms: [ALGORITHM],
      }, (error, decodedToken) => {
        if (error) {
          if (error.name === 'TokenExpiredError') {
            return reject(new Error('IAP JWT is expired'));
          } else if (error.name === 'JsonWebTokenError') {
            return reject(new Error('IAP JWT has invalid signature'));
          }
          return reject(new Error(error.message));
        } else {
          resolve(decodedToken);
        }
      });
    });
  }