in sample/app/server/verify-iap-jwt.js [81:105]
fetchPublicKey(kid) {
if (typeof this.publicKeys !== 'undefined' &&
this.publicKeys.hasOwnProperty(kid)) {
return Promise.resolve(this.publicKeys[kid]);
}
return new Promise((resolve, reject) => {
request({
url: PUBLIC_KEY_URL,
json: true
}, (error, response, body) => {
if (!error && response.statusCode === 200) {
// Cache public keys.
this.publicKeys = body;
if (this.publicKeys.hasOwnProperty(kid)) {
// Return the corresponding key.
resolve(body[kid]);
} else {
reject('IAP JWT has "kid" claim which does not correspond to a known public key.');
}
} else {
reject(error);
}
});
});
}