12345678910111213141516171819202122232425262728 |
- "use strict";
- const jwt = require('jsonwebtoken');
- const util = require('util');
- const Parse = require('parse/node').Parse;
- const getHeaderFromToken = token => {
- const decodedToken = jwt.decode(token, {
- complete: true
- });
- if (!decodedToken) {
- throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, `provided token does not decode as JWT`);
- }
- return decodedToken.header;
- };
- /**
- * Returns the signing key from a JWKS client.
- * @param {Object} client The JWKS client.
- * @param {String} key The kid.
- */
- async function getSigningKey(client, key) {
- return util.promisify(client.getSigningKey)(key);
- }
- module.exports = {
- getHeaderFromToken,
- getSigningKey
- };
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJqd3QiLCJyZXF1aXJlIiwidXRpbCIsIlBhcnNlIiwiZ2V0SGVhZGVyRnJvbVRva2VuIiwidG9rZW4iLCJkZWNvZGVkVG9rZW4iLCJkZWNvZGUiLCJjb21wbGV0ZSIsIkVycm9yIiwiT0JKRUNUX05PVF9GT1VORCIsImhlYWRlciIsImdldFNpZ25pbmdLZXkiLCJjbGllbnQiLCJrZXkiLCJwcm9taXNpZnkiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0FkYXB0ZXJzL0F1dGgvdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3Qgand0ID0gcmVxdWlyZSgnanNvbndlYnRva2VuJyk7XG5jb25zdCB1dGlsID0gcmVxdWlyZSgndXRpbCcpO1xuY29uc3QgUGFyc2UgPSByZXF1aXJlKCdwYXJzZS9ub2RlJykuUGFyc2U7XG5jb25zdCBnZXRIZWFkZXJGcm9tVG9rZW4gPSB0b2tlbiA9PiB7XG4gIGNvbnN0IGRlY29kZWRUb2tlbiA9IGp3dC5kZWNvZGUodG9rZW4sIHsgY29tcGxldGU6IHRydWUgfSk7XG4gIGlmICghZGVjb2RlZFRva2VuKSB7XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsIGBwcm92aWRlZCB0b2tlbiBkb2VzIG5vdCBkZWNvZGUgYXMgSldUYCk7XG4gIH1cblxuICByZXR1cm4gZGVjb2RlZFRva2VuLmhlYWRlcjtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc2lnbmluZyBrZXkgZnJvbSBhIEpXS1MgY2xpZW50LlxuICogQHBhcmFtIHtPYmplY3R9IGNsaWVudCBUaGUgSldLUyBjbGllbnQuXG4gKiBAcGFyYW0ge1N0cmluZ30ga2V5IFRoZSBraWQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldFNpZ25pbmdLZXkoY2xpZW50LCBrZXkpIHtcbiAgcmV0dXJuIHV0aWwucHJvbWlzaWZ5KGNsaWVudC5nZXRTaWduaW5nS2V5KShrZXkpO1xufVxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGdldEhlYWRlckZyb21Ub2tlbixcbiAgZ2V0U2lnbmluZ0tleSxcbn07XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTUEsR0FBRyxHQUFHQyxPQUFPLENBQUMsY0FBYyxDQUFDO0FBQ25DLE1BQU1DLElBQUksR0FBR0QsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUM1QixNQUFNRSxLQUFLLEdBQUdGLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQ0UsS0FBSztBQUN6QyxNQUFNQyxrQkFBa0IsR0FBR0MsS0FBSyxJQUFJO0VBQ2xDLE1BQU1DLFlBQVksR0FBR04sR0FBRyxDQUFDTyxNQUFNLENBQUNGLEtBQUssRUFBRTtJQUFFRyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUM7RUFDMUQsSUFBSSxDQUFDRixZQUFZLEVBQUU7SUFDakIsTUFBTSxJQUFJSCxLQUFLLENBQUNNLEtBQUssQ0FBQ04sS0FBSyxDQUFDTSxLQUFLLENBQUNDLGdCQUFnQixFQUFFLHVDQUF1QyxDQUFDO0VBQzlGO0VBRUEsT0FBT0osWUFBWSxDQUFDSyxNQUFNO0FBQzVCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWVDLGFBQWFBLENBQUNDLE1BQU0sRUFBRUMsR0FBRyxFQUFFO0VBQ3hDLE9BQU9aLElBQUksQ0FBQ2EsU0FBUyxDQUFDRixNQUFNLENBQUNELGFBQWEsQ0FBQyxDQUFDRSxHQUFHLENBQUM7QUFDbEQ7QUFDQUUsTUFBTSxDQUFDQyxPQUFPLEdBQUc7RUFDZmIsa0JBQWtCO0VBQ2xCUTtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|