parse-server 5.2.6 → 5.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -36,24 +36,26 @@ function validateGraphToken(authData, options) {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
function validateGraphAppId(appIds, authData, options) {
|
|
39
|
+
async function validateGraphAppId(appIds, authData, options) {
|
|
40
40
|
var access_token = authData.access_token;
|
|
41
41
|
|
|
42
42
|
if (process.env.TESTING && access_token === 'test') {
|
|
43
|
-
return
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (!Array.isArray(appIds)) {
|
|
47
|
+
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'appIds must be an array.');
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
if (!appIds.length) {
|
|
47
51
|
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Facebook auth is not configured.');
|
|
48
52
|
}
|
|
49
53
|
|
|
50
|
-
|
|
51
|
-
if (data && appIds.indexOf(data.id) != -1) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
+
const data = await graphRequest(`app?access_token=${access_token}${getAppSecretPath(authData, options)}`);
|
|
54
55
|
|
|
56
|
+
if (!data || !appIds.includes(data.id)) {
|
|
55
57
|
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Facebook auth is invalid for this user.');
|
|
56
|
-
}
|
|
58
|
+
}
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
const getFacebookKeyByKeyId = async (keyId, cacheMaxEntries, cacheMaxAge) => {
|
|
@@ -159,4 +161,4 @@ module.exports = {
|
|
|
159
161
|
validateAppId: validateAppId,
|
|
160
162
|
validateAuthData: validateAuthData
|
|
161
163
|
};
|
|
162
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BZGFwdGVycy9BdXRoL2ZhY2Vib29rLmpzIl0sIm5hbWVzIjpbIlBhcnNlIiwicmVxdWlyZSIsImNyeXB0byIsImp3a3NDbGllbnQiLCJ1dGlsIiwiand0IiwiaHR0cHNSZXF1ZXN0IiwiVE9LRU5fSVNTVUVSIiwiZ2V0QXBwU2VjcmV0UGF0aCIsImF1dGhEYXRhIiwib3B0aW9ucyIsImFwcFNlY3JldCIsImFwcHNlY3JldF9wcm9vZiIsImNyZWF0ZUhtYWMiLCJ1cGRhdGUiLCJhY2Nlc3NfdG9rZW4iLCJkaWdlc3QiLCJ2YWxpZGF0ZUdyYXBoVG9rZW4iLCJncmFwaFJlcXVlc3QiLCJ0aGVuIiwiZGF0YSIsImlkIiwicHJvY2VzcyIsImVudiIsIlRFU1RJTkciLCJFcnJvciIsIk9CSkVDVF9OT1RfRk9VTkQiLCJ2YWxpZGF0ZUdyYXBoQXBwSWQiLCJhcHBJZHMiLCJQcm9taXNlIiwicmVzb2x2ZSIsImxlbmd0aCIsImluZGV4T2YiLCJnZXRGYWNlYm9va0tleUJ5S2V5SWQiLCJrZXlJZCIsImNhY2hlTWF4RW50cmllcyIsImNhY2hlTWF4QWdlIiwiY2xpZW50Iiwiandrc1VyaSIsImNhY2hlIiwiYXN5bmNHZXRTaWduaW5nS2V5RnVuY3Rpb24iLCJwcm9taXNpZnkiLCJnZXRTaWduaW5nS2V5Iiwia2V5IiwiZXJyb3IiLCJnZXRIZWFkZXJGcm9tVG9rZW4iLCJ0b2tlbiIsImRlY29kZWRUb2tlbiIsImRlY29kZSIsImNvbXBsZXRlIiwiaGVhZGVyIiwidmVyaWZ5SWRUb2tlbiIsImNsaWVudElkIiwia2lkIiwiYWxnIiwiYWxnb3JpdGhtIiwiT05FX0hPVVJfSU5fTVMiLCJqd3RDbGFpbXMiLCJmYWNlYm9va0tleSIsInNpZ25pbmdLZXkiLCJwdWJsaWNLZXkiLCJyc2FQdWJsaWNLZXkiLCJ2ZXJpZnkiLCJhbGdvcml0aG1zIiwiYXVkaWVuY2UiLCJleGNlcHRpb24iLCJtZXNzYWdlIiwiaXNzIiwic3ViIiwidmFsaWRhdGVBdXRo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Q2ZKLEVBQUFBLGFBQWEsRUFBRUEsYUFEQTtBQUVmRCxFQUFBQSxnQkFBZ0IsRUFBRUE7QUFGSCxDQUFqQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyB0aGUgRmFjZWJvb2sgR3JhcGggQVBJLlxuY29uc3QgUGFyc2UgPSByZXF1aXJlKCdwYXJzZS9ub2RlJykuUGFyc2U7XG5jb25zdCBjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbmNvbnN0IGp3a3NDbGllbnQgPSByZXF1aXJlKCdqd2tzLXJzYScpO1xuY29uc3QgdXRpbCA9IHJlcXVpcmUoJ3V0aWwnKTtcbmNvbnN0IGp3dCA9IHJlcXVpcmUoJ2pzb253ZWJ0b2tlbicpO1xuY29uc3QgaHR0cHNSZXF1ZXN0ID0gcmVxdWlyZSgnLi9odHRwc1JlcXVlc3QnKTtcblxuY29uc3QgVE9LRU5fSVNTVUVSID0gJ2h0dHBzOi8vZmFjZWJvb2suY29tJztcblxuZnVuY3Rpb24gZ2V0QXBwU2VjcmV0UGF0aChhdXRoRGF0YSwgb3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IGFwcFNlY3JldCA9IG9wdGlvbnMuYXBwU2VjcmV0O1xuICBpZiAoIWFwcFNlY3JldCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBjb25zdCBhcHBzZWNyZXRfcHJvb2YgPSBjcnlwdG9cbiAgICAuY3JlYXRlSG1hYygnc2hhMjU2JywgYXBwU2VjcmV0KVxuICAgIC51cGRhdGUoYXV0aERhdGEuYWNjZXNzX3Rva2VuKVxuICAgIC5kaWdlc3QoJ2hleCcpO1xuXG4gIHJldHVybiBgJmFwcHNlY3JldF9wcm9vZj0ke2FwcHNlY3JldF9wcm9vZn1gO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUdyYXBoVG9rZW4oYXV0aERhdGEsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGdyYXBoUmVxdWVzdChcbiAgICAnbWU/ZmllbGRzPWlkJmFjY2Vzc190b2tlbj0nICsgYXV0aERhdGEuYWNjZXNzX3Rva2VuICsgZ2V0QXBwU2VjcmV0UGF0aChhdXRoRGF0YSwgb3B0aW9ucylcbiAgKS50aGVuKGRhdGEgPT4ge1xuICAgIGlmICgoZGF0YSAmJiBkYXRhLmlkID09IGF1dGhEYXRhLmlkKSB8fCAocHJvY2Vzcy5lbnYuVEVTVElORyAmJiBhdXRoRGF0YS5pZCA9PT0gJ3Rlc3QnKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ0ZhY2Vib29rIGF1dGggaXMgaW52YWxpZCBmb3IgdGhpcyB1c2VyLicpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVHcmFwaEFwcElkKGFwcElkcywgYXV0aERhdGEsIG9wdGlvbnMpIHtcbiAgdmFyIGFjY2Vzc190b2tlbiA9IGF1dGhEYXRhLmFjY2Vzc190b2tlbjtcbiAgaWYgKHByb2Nlc3MuZW52LlRFU1RJTkcgJiYgYWNjZXNzX3Rva2VuID09PSAndGVzdCcpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cbiAgaWYgKCFhcHBJZHMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsICdGYWNlYm9vayBhdXRoIGlzIG5vdCBjb25maWd1cmVkLicpO1xuICB9XG4gIHJldHVybiBncmFwaFJlcXVlc3QoXG4gICAgJ2FwcD9hY2Nlc3NfdG9rZW49JyArIGFjY2Vzc190b2tlbiArIGdldEFwcFNlY3JldFBhdGgoYXV0aERhdGEsIG9wdGlvbnMpXG4gICkudGhlbihkYXRhID0+IHtcbiAgICBpZiAoZGF0YSAmJiBhcHBJZHMuaW5kZXhPZihkYXRhLmlkKSAhPSAtMSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ0ZhY2Vib29rIGF1dGggaXMgaW52YWxpZCBmb3IgdGhpcyB1c2VyLicpO1xuICB9KTtcbn1cblxuY29uc3QgZ2V0RmFjZWJvb2tLZXlCeUtleUlkID0gYXN5bmMgKGtleUlkLCBjYWNoZU1heEVudHJpZXMsIGNhY2hlTWF4QWdlKSA9PiB7XG4gIGNvbnN0IGNsaWVudCA9IGp3a3NDbGllbnQoe1xuICAgIGp3a3NVcmk6IGAke1RPS0VOX0lTU1VFUn0vLndlbGwta25vd24vb2F1dGgvb3BlbmlkL2p3a3MvYCxcbiAgICBjYWNoZTogdHJ1ZSxcbiAgICBjYWNoZU1heEVudHJpZXMsXG4gICAgY2FjaGVNYXhBZ2UsXG4gIH0pO1xuXG4gIGNvbnN0IGFzeW5jR2V0U2lnbmluZ0tleUZ1bmN0aW9uID0gdXRpbC5wcm9taXNpZnkoY2xpZW50LmdldFNpZ25pbmdLZXkpO1xuXG4gIGxldCBrZXk7XG4gIHRyeSB7XG4gICAga2V5ID0gYXdhaXQgYXN5bmNHZXRTaWduaW5nS2V5RnVuY3Rpb24oa2V5SWQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgIFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgbWF0Y2hpbmcga2V5IGZvciBLZXkgSUQ6ICR7a2V5SWR9YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGtleTtcbn07XG5cbmNvbnN0IGdldEhlYWRlckZyb21Ub2tlbiA9IHRva2VuID0+IHtcbiAgY29uc3QgZGVjb2RlZFRva2VuID0gand0LmRlY29kZSh0b2tlbiwgeyBjb21wbGV0ZTogdHJ1ZSB9KTtcbiAgaWYgKCFkZWNvZGVkVG9rZW4pIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ3Byb3ZpZGVkIHRva2VuIGRvZXMgbm90IGRlY29kZSBhcyBKV1QnKTtcbiAgfVxuXG4gIHJldHVybiBkZWNvZGVkVG9rZW4uaGVhZGVyO1xufTtcblxuY29uc3QgdmVyaWZ5SWRUb2tlbiA9IGFzeW5jICh7IHRva2VuLCBpZCB9LCB7IGNsaWVudElkLCBjYWNoZU1heEVudHJpZXMsIGNhY2hlTWF4QWdlIH0pID0+IHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCAnaWQgdG9rZW4gaXMgaW52YWxpZCBmb3IgdGhpcyB1c2VyLicpO1xuICB9XG5cbiAgY29uc3QgeyBraWQ6IGtleUlkLCBhbGc6IGFsZ29yaXRobSB9ID0gZ2V0SGVhZGVyRnJvbVRva2VuKHRva2VuKTtcbiAgY29uc3QgT05FX0hPVVJfSU5fTVMgPSAzNjAwMDAwO1xuICBsZXQgand0Q2xhaW1zO1xuXG4gIGNhY2hlTWF4QWdlID0gY2FjaGVNYXhBZ2UgfHwgT05FX0hPVVJfSU5fTVM7XG4gIGNhY2hlTWF4RW50cmllcyA9IGNhY2hlTWF4RW50cmllcyB8fCA1O1xuXG4gIGNvbnN0IGZhY2Vib29rS2V5ID0gYXdhaXQgZ2V0RmFjZWJvb2tLZXlCeUtleUlkKGtleUlkLCBjYWNoZU1heEVudHJpZXMsIGNhY2hlTWF4QWdlKTtcbiAgY29uc3Qgc2lnbmluZ0tleSA9IGZhY2Vib29rS2V5LnB1YmxpY0tleSB8fCBmYWNlYm9va0tleS5yc2FQdWJsaWNLZXk7XG5cbiAgdHJ5IHtcbiAgICBqd3RDbGFpbXMgPSBqd3QudmVyaWZ5KHRva2VuLCBzaWduaW5nS2V5LCB7XG4gICAgICBhbGdvcml0aG1zOiBhbGdvcml0aG0sXG4gICAgICAvLyB0aGUgYXVkaWVuY2UgY2FuIGJlIGNoZWNrZWQgYWdhaW5zdCBhIHN0cmluZywgYSByZWd1bGFyIGV4cHJlc3Npb24gb3IgYSBsaXN0IG9mIHN0cmluZ3MgYW5kL29yIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICBhdWRpZW5jZTogY2xpZW50SWQsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGV4Y2VwdGlvbikge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBleGNlcHRpb24ubWVzc2FnZTtcblxuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCBgJHttZXNzYWdlfWApO1xuICB9XG5cbiAgaWYgKGp3dENsYWltcy5pc3MgIT09IFRPS0VOX0lTU1VFUikge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgIFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsXG4gICAgICBgaWQgdG9rZW4gbm90IGlzc3VlZCBieSBjb3JyZWN0IE9wZW5JRCBwcm92aWRlciAtIGV4cGVjdGVkOiAke1RPS0VOX0lTU1VFUn0gfCBmcm9tOiAke2p3dENsYWltcy5pc3N9YFxuICAgICk7XG4gIH1cblxuICBpZiAoand0Q2xhaW1zLnN1YiAhPT0gaWQpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ2F1dGggZGF0YSBpcyBpbnZhbGlkIGZvciB0aGlzIHVzZXIuJyk7XG4gIH1cbiAgcmV0dXJuIGp3dENsYWltcztcbn07XG5cbi8vIFJldHVybnMgYSBwcm9taXNlIHRoYXQgZnVsZmlsbHMgaWZmIHRoaXMgdXNlciBpZCBpcyB2YWxpZC5cbmZ1bmN0aW9uIHZhbGlkYXRlQXV0aERhdGEoYXV0aERhdGEsIG9wdGlvbnMpIHtcbiAgaWYgKGF1dGhEYXRhLnRva2VuKSB7XG4gICAgcmV0dXJuIHZlcmlmeUlkVG9rZW4oYXV0aERhdGEsIG9wdGlvbnMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB2YWxpZGF0ZUdyYXBoVG9rZW4oYXV0aERhdGEsIG9wdGlvbnMpO1xuICB9XG59XG5cbi8vIFJldHVybnMgYSBwcm9taXNlIHRoYXQgZnVsZmlsbHMgaWZmIHRoaXMgYXBwIGlkIGlzIHZhbGlkLlxuZnVuY3Rpb24gdmFsaWRhdGVBcHBJZChhcHBJZHMsIGF1dGhEYXRhLCBvcHRpb25zKSB7XG4gIGlmIChhdXRoRGF0YS50b2tlbikge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsaWRhdGVHcmFwaEFwcElkKGFwcElkcywgYXV0aERhdGEsIG9wdGlvbnMpO1xuICB9XG59XG5cbi8vIEEgcHJvbWlzZXkgd3JhcHBlciBmb3IgRkIgZ3JhcGggcmVxdWVzdHMuXG5mdW5jdGlvbiBncmFwaFJlcXVlc3QocGF0aCkge1xuICByZXR1cm4gaHR0cHNSZXF1ZXN0LmdldCgnaHR0cHM6Ly9ncmFwaC5mYWNlYm9vay5jb20vJyArIHBhdGgpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgdmFsaWRhdGVBcHBJZDogdmFsaWRhdGVBcHBJZCxcbiAgdmFsaWRhdGVBdXRoRGF0YTogdmFsaWRhdGVBdXRoRGF0YSxcbn07XG4iXX0=
|
|
164
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BZGFwdGVycy9BdXRoL2ZhY2Vib29rLmpzIl0sIm5hbWVzIjpbIlBhcnNlIiwicmVxdWlyZSIsImNyeXB0byIsImp3a3NDbGllbnQiLCJ1dGlsIiwiand0IiwiaHR0cHNSZXF1ZXN0IiwiVE9LRU5fSVNTVUVSIiwiZ2V0QXBwU2VjcmV0UGF0aCIsImF1dGhEYXRhIiwib3B0aW9ucyIsImFwcFNlY3JldCIsImFwcHNlY3JldF9wcm9vZiIsImNyZWF0ZUhtYWMiLCJ1cGRhdGUiLCJhY2Nlc3NfdG9rZW4iLCJkaWdlc3QiLCJ2YWxpZGF0ZUdyYXBoVG9rZW4iLCJncmFwaFJlcXVlc3QiLCJ0aGVuIiwiZGF0YSIsImlkIiwicHJvY2VzcyIsImVudiIsIlRFU1RJTkciLCJFcnJvciIsIk9CSkVDVF9OT1RfRk9VTkQiLCJ2YWxpZGF0ZUdyYXBoQXBwSWQiLCJhcHBJZHMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJpbmNsdWRlcyIsImdldEZhY2Vib29rS2V5QnlLZXlJZCIsImtleUlkIiwiY2FjaGVNYXhFbnRyaWVzIiwiY2FjaGVNYXhBZ2UiLCJjbGllbnQiLCJqd2tzVXJpIiwiY2FjaGUiLCJhc3luY0dldFNpZ25pbmdLZXlGdW5jdGlvbiIsInByb21pc2lmeSIsImdldFNpZ25pbmdLZXkiLCJrZXkiLCJlcnJvciIsImdldEhlYWRlckZyb21Ub2tlbiIsInRva2VuIiwiZGVjb2RlZFRva2VuIiwiZGVjb2RlIiwiY29tcGxldGUiLCJoZWFkZXIiLCJ2ZXJpZnlJZFRva2VuIiwiY2xpZW50SWQiLCJraWQiLCJhbGciLCJhbGdvcml0aG0iLCJPTkVfSE9VUl9JTl9NUyIsImp3dENsYWltcyIsImZhY2Vib29rS2V5Iiwic2lnbmluZ0tleSIsInB1YmxpY0tleSIsInJzYVB1YmxpY0tleSIsInZlcmlmeSIsImFsZ29yaXRobXMiLCJhdWRpZW5jZSIsImV4Y2VwdGlvbiIsIm1lc3NhZ2UiLCJpc3MiLCJzdWIiLCJ2YWxpZGF0ZUF1dGhEYXRhIiwidmFsaWRhdGVBcHBJZCIsIlByb21pc2UiLCJyZXNvbHZlIiwicGF0aCIsImdldCIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQSxNQUFNQSxLQUFLLEdBQUdDLE9BQU8sQ0FBQyxZQUFELENBQVAsQ0FBc0JELEtBQXBDOztBQUNBLE1BQU1FLE1BQU0sR0FBR0QsT0FBTyxDQUFDLFFBQUQsQ0FBdEI7O0FBQ0EsTUFBTUUsVUFBVSxHQUFHRixPQUFPLENBQUMsVUFBRCxDQUExQjs7QUFDQSxNQUFNRyxJQUFJLEdBQUdILE9BQU8sQ0FBQyxNQUFELENBQXBCOztBQUNBLE1BQU1JLEdBQUcsR0FBR0osT0FBTyxDQUFDLGNBQUQsQ0FBbkI7O0FBQ0EsTUFBTUssWUFBWSxHQUFHTCxPQUFPLENBQUMsZ0JBQUQsQ0FBNUI7O0FBRUEsTUFBTU0sWUFBWSxHQUFHLHNCQUFyQjs7QUFFQSxTQUFTQyxnQkFBVCxDQUEwQkMsUUFBMUIsRUFBb0NDLE9BQU8sR0FBRyxFQUE5QyxFQUFrRDtBQUNoRCxRQUFNQyxTQUFTLEdBQUdELE9BQU8sQ0FBQ0MsU0FBMUI7O0FBQ0EsTUFBSSxDQUFDQSxTQUFMLEVBQWdCO0FBQ2QsV0FBTyxFQUFQO0FBQ0Q7O0FBQ0QsUUFBTUMsZUFBZSxHQUFHVixNQUFNLENBQzNCVyxVQURxQixDQUNWLFFBRFUsRUFDQUYsU0FEQSxFQUVyQkcsTUFGcUIsQ0FFZEwsUUFBUSxDQUFDTSxZQUZLLEVBR3JCQyxNQUhxQixDQUdkLEtBSGMsQ0FBeEI7QUFLQSxTQUFRLG9CQUFtQkosZUFBZ0IsRUFBM0M7QUFDRDs7QUFFRCxTQUFTSyxrQkFBVCxDQUE0QlIsUUFBNUIsRUFBc0NDLE9BQXRDLEVBQStDO0FBQzdDLFNBQU9RLFlBQVksQ0FDakIsK0JBQStCVCxRQUFRLENBQUNNLFlBQXhDLEdBQXVEUCxnQkFBZ0IsQ0FBQ0MsUUFBRCxFQUFXQyxPQUFYLENBRHRELENBQVosQ0FFTFMsSUFGSyxDQUVBQyxJQUFJLElBQUk7QUFDYixRQUFLQSxJQUFJLElBQUlB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LFlBQVQsQ0FBc0J1RCxJQUF0QixFQUE0QjtBQUMxQixTQUFPbkUsWUFBWSxDQUFDb0UsR0FBYixDQUFpQixnQ0FBZ0NELElBQWpELENBQVA7QUFDRDs7QUFFREUsTUFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQ2ZOLEVBQUFBLGFBQWEsRUFBRUEsYUFEQTtBQUVmRCxFQUFBQSxnQkFBZ0IsRUFBRUE7QUFGSCxDQUFqQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyB0aGUgRmFjZWJvb2sgR3JhcGggQVBJLlxuY29uc3QgUGFyc2UgPSByZXF1aXJlKCdwYXJzZS9ub2RlJykuUGFyc2U7XG5jb25zdCBjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbmNvbnN0IGp3a3NDbGllbnQgPSByZXF1aXJlKCdqd2tzLXJzYScpO1xuY29uc3QgdXRpbCA9IHJlcXVpcmUoJ3V0aWwnKTtcbmNvbnN0IGp3dCA9IHJlcXVpcmUoJ2pzb253ZWJ0b2tlbicpO1xuY29uc3QgaHR0cHNSZXF1ZXN0ID0gcmVxdWlyZSgnLi9odHRwc1JlcXVlc3QnKTtcblxuY29uc3QgVE9LRU5fSVNTVUVSID0gJ2h0dHBzOi8vZmFjZWJvb2suY29tJztcblxuZnVuY3Rpb24gZ2V0QXBwU2VjcmV0UGF0aChhdXRoRGF0YSwgb3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IGFwcFNlY3JldCA9IG9wdGlvbnMuYXBwU2VjcmV0O1xuICBpZiAoIWFwcFNlY3JldCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBjb25zdCBhcHBzZWNyZXRfcHJvb2YgPSBjcnlwdG9cbiAgICAuY3JlYXRlSG1hYygnc2hhMjU2JywgYXBwU2VjcmV0KVxuICAgIC51cGRhdGUoYXV0aERhdGEuYWNjZXNzX3Rva2VuKVxuICAgIC5kaWdlc3QoJ2hleCcpO1xuXG4gIHJldHVybiBgJmFwcHNlY3JldF9wcm9vZj0ke2FwcHNlY3JldF9wcm9vZn1gO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUdyYXBoVG9rZW4oYXV0aERhdGEsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGdyYXBoUmVxdWVzdChcbiAgICAnbWU/ZmllbGRzPWlkJmFjY2Vzc190b2tlbj0nICsgYXV0aERhdGEuYWNjZXNzX3Rva2VuICsgZ2V0QXBwU2VjcmV0UGF0aChhdXRoRGF0YSwgb3B0aW9ucylcbiAgKS50aGVuKGRhdGEgPT4ge1xuICAgIGlmICgoZGF0YSAmJiBkYXRhLmlkID09IGF1dGhEYXRhLmlkKSB8fCAocHJvY2Vzcy5lbnYuVEVTVElORyAmJiBhdXRoRGF0YS5pZCA9PT0gJ3Rlc3QnKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ0ZhY2Vib29rIGF1dGggaXMgaW52YWxpZCBmb3IgdGhpcyB1c2VyLicpO1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVHcmFwaEFwcElkKGFwcElkcywgYXV0aERhdGEsIG9wdGlvbnMpIHtcbiAgdmFyIGFjY2Vzc190b2tlbiA9IGF1dGhEYXRhLmFjY2Vzc190b2tlbjtcbiAgaWYgKHByb2Nlc3MuZW52LlRFU1RJTkcgJiYgYWNjZXNzX3Rva2VuID09PSAndGVzdCcpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKCFBcnJheS5pc0FycmF5KGFwcElkcykpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ2FwcElkcyBtdXN0IGJlIGFuIGFycmF5LicpO1xuICB9XG4gIGlmICghYXBwSWRzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCAnRmFjZWJvb2sgYXV0aCBpcyBub3QgY29uZmlndXJlZC4nKTtcbiAgfVxuICBjb25zdCBkYXRhID0gYXdhaXQgZ3JhcGhSZXF1ZXN0KFxuICAgIGBhcHA/YWNjZXNzX3Rva2VuPSR7YWNjZXNzX3Rva2VufSR7Z2V0QXBwU2VjcmV0UGF0aChhdXRoRGF0YSwgb3B0aW9ucyl9YFxuICApO1xuICBpZiAoIWRhdGEgfHwgIWFwcElkcy5pbmNsdWRlcyhkYXRhLmlkKSkge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCAnRmFjZWJvb2sgYXV0aCBpcyBpbnZhbGlkIGZvciB0aGlzIHVzZXIuJyk7XG4gIH1cbn1cblxuY29uc3QgZ2V0RmFjZWJvb2tLZXlCeUtleUlkID0gYXN5bmMgKGtleUlkLCBjYWNoZU1heEVudHJpZXMsIGNhY2hlTWF4QWdlKSA9PiB7XG4gIGNvbnN0IGNsaWVudCA9IGp3a3NDbGllbnQoe1xuICAgIGp3a3NVcmk6IGAke1RPS0VOX0lTU1VFUn0vLndlbGwta25vd24vb2F1dGgvb3BlbmlkL2p3a3MvYCxcbiAgICBjYWNoZTogdHJ1ZSxcbiAgICBjYWNoZU1heEVudHJpZXMsXG4gICAgY2FjaGVNYXhBZ2UsXG4gIH0pO1xuXG4gIGNvbnN0IGFzeW5jR2V0U2lnbmluZ0tleUZ1bmN0aW9uID0gdXRpbC5wcm9taXNpZnkoY2xpZW50LmdldFNpZ25pbmdLZXkpO1xuXG4gIGxldCBrZXk7XG4gIHRyeSB7XG4gICAga2V5ID0gYXdhaXQgYXN5bmNHZXRTaWduaW5nS2V5RnVuY3Rpb24oa2V5SWQpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgIFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsXG4gICAgICBgVW5hYmxlIHRvIGZpbmQgbWF0Y2hpbmcga2V5IGZvciBLZXkgSUQ6ICR7a2V5SWR9YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGtleTtcbn07XG5cbmNvbnN0IGdldEhlYWRlckZyb21Ub2tlbiA9IHRva2VuID0+IHtcbiAgY29uc3QgZGVjb2RlZFRva2VuID0gand0LmRlY29kZSh0b2tlbiwgeyBjb21wbGV0ZTogdHJ1ZSB9KTtcbiAgaWYgKCFkZWNvZGVkVG9rZW4pIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ3Byb3ZpZGVkIHRva2VuIGRvZXMgbm90IGRlY29kZSBhcyBKV1QnKTtcbiAgfVxuXG4gIHJldHVybiBkZWNvZGVkVG9rZW4uaGVhZGVyO1xufTtcblxuY29uc3QgdmVyaWZ5SWRUb2tlbiA9IGFzeW5jICh7IHRva2VuLCBpZCB9LCB7IGNsaWVudElkLCBjYWNoZU1heEVudHJpZXMsIGNhY2hlTWF4QWdlIH0pID0+IHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCAnaWQgdG9rZW4gaXMgaW52YWxpZCBmb3IgdGhpcyB1c2VyLicpO1xuICB9XG5cbiAgY29uc3QgeyBraWQ6IGtleUlkLCBhbGc6IGFsZ29yaXRobSB9ID0gZ2V0SGVhZGVyRnJvbVRva2VuKHRva2VuKTtcbiAgY29uc3QgT05FX0hPVVJfSU5fTVMgPSAzNjAwMDAwO1xuICBsZXQgand0Q2xhaW1zO1xuXG4gIGNhY2hlTWF4QWdlID0gY2FjaGVNYXhBZ2UgfHwgT05FX0hPVVJfSU5fTVM7XG4gIGNhY2hlTWF4RW50cmllcyA9IGNhY2hlTWF4RW50cmllcyB8fCA1O1xuXG4gIGNvbnN0IGZhY2Vib29rS2V5ID0gYXdhaXQgZ2V0RmFjZWJvb2tLZXlCeUtleUlkKGtleUlkLCBjYWNoZU1heEVudHJpZXMsIGNhY2hlTWF4QWdlKTtcbiAgY29uc3Qgc2lnbmluZ0tleSA9IGZhY2Vib29rS2V5LnB1YmxpY0tleSB8fCBmYWNlYm9va0tleS5yc2FQdWJsaWNLZXk7XG5cbiAgdHJ5IHtcbiAgICBqd3RDbGFpbXMgPSBqd3QudmVyaWZ5KHRva2VuLCBzaWduaW5nS2V5LCB7XG4gICAgICBhbGdvcml0aG1zOiBhbGdvcml0aG0sXG4gICAgICAvLyB0aGUgYXVkaWVuY2UgY2FuIGJlIGNoZWNrZWQgYWdhaW5zdCBhIHN0cmluZywgYSByZWd1bGFyIGV4cHJlc3Npb24gb3IgYSBsaXN0IG9mIHN0cmluZ3MgYW5kL29yIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICBhdWRpZW5jZTogY2xpZW50SWQsXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGV4Y2VwdGlvbikge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBleGNlcHRpb24ubWVzc2FnZTtcblxuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCBgJHttZXNzYWdlfWApO1xuICB9XG5cbiAgaWYgKGp3dENsYWltcy5pc3MgIT09IFRPS0VOX0lTU1VFUikge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihcbiAgICAgIFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsXG4gICAgICBgaWQgdG9rZW4gbm90IGlzc3VlZCBieSBjb3JyZWN0IE9wZW5JRCBwcm92aWRlciAtIGV4cGVjdGVkOiAke1RPS0VOX0lTU1VFUn0gfCBmcm9tOiAke2p3dENsYWltcy5pc3N9YFxuICAgICk7XG4gIH1cblxuICBpZiAoand0Q2xhaW1zLnN1YiAhPT0gaWQpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ2F1dGggZGF0YSBpcyBpbnZhbGlkIGZvciB0aGlzIHVzZXIuJyk7XG4gIH1cbiAgcmV0dXJuIGp3dENsYWltcztcbn07XG5cbi8vIFJldHVybnMgYSBwcm9taXNlIHRoYXQgZnVsZmlsbHMgaWZmIHRoaXMgdXNlciBpZCBpcyB2YWxpZC5cbmZ1bmN0aW9uIHZhbGlkYXRlQXV0aERhdGEoYXV0aERhdGEsIG9wdGlvbnMpIHtcbiAgaWYgKGF1dGhEYXRhLnRva2VuKSB7XG4gICAgcmV0dXJuIHZlcmlmeUlkVG9rZW4oYXV0aERhdGEsIG9wdGlvbnMpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB2YWxpZGF0ZUdyYXBoVG9rZW4oYXV0aERhdGEsIG9wdGlvbnMpO1xuICB9XG59XG5cbi8vIFJldHVybnMgYSBwcm9taXNlIHRoYXQgZnVsZmlsbHMgaWZmIHRoaXMgYXBwIGlkIGlzIHZhbGlkLlxuZnVuY3Rpb24gdmFsaWRhdGVBcHBJZChhcHBJZHMsIGF1dGhEYXRhLCBvcHRpb25zKSB7XG4gIGlmIChhdXRoRGF0YS50b2tlbikge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsaWRhdGVHcmFwaEFwcElkKGFwcElkcywgYXV0aERhdGEsIG9wdGlvbnMpO1xuICB9XG59XG5cbi8vIEEgcHJvbWlzZXkgd3JhcHBlciBmb3IgRkIgZ3JhcGggcmVxdWVzdHMuXG5mdW5jdGlvbiBncmFwaFJlcXVlc3QocGF0aCkge1xuICByZXR1cm4gaHR0cHNSZXF1ZXN0LmdldCgnaHR0cHM6Ly9ncmFwaC5mYWNlYm9vay5jb20vJyArIHBhdGgpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgdmFsaWRhdGVBcHBJZDogdmFsaWRhdGVBcHBJZCxcbiAgdmFsaWRhdGVBdXRoRGF0YTogdmFsaWRhdGVBdXRoRGF0YSxcbn07XG4iXX0=
|
|
@@ -17,20 +17,22 @@ function validateAuthData(authData) {
|
|
|
17
17
|
} // Returns a promise that fulfills if this app id is valid.
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
function validateAppId(appIds, authData) {
|
|
21
|
-
|
|
20
|
+
async function validateAppId(appIds, authData) {
|
|
21
|
+
const access_token = authData.access_token;
|
|
22
|
+
|
|
23
|
+
if (!Array.isArray(appIds)) {
|
|
24
|
+
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'appIds must be an array.');
|
|
25
|
+
}
|
|
22
26
|
|
|
23
27
|
if (!appIds.length) {
|
|
24
28
|
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Spotify auth is not configured.');
|
|
25
29
|
}
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
if (data && appIds.indexOf(data.id) != -1) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
+
const data = await request('me', access_token);
|
|
31
32
|
|
|
33
|
+
if (!data || !appIds.includes(data.id)) {
|
|
32
34
|
throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Spotify auth is invalid for this user.');
|
|
33
|
-
}
|
|
35
|
+
}
|
|
34
36
|
} // A promisey wrapper for Spotify API requests.
|
|
35
37
|
|
|
36
38
|
|
|
@@ -48,4 +50,4 @@ module.exports = {
|
|
|
48
50
|
validateAppId: validateAppId,
|
|
49
51
|
validateAuthData: validateAuthData
|
|
50
52
|
};
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BZGFwdGVycy9BdXRoL3Nwb3RpZnkuanMiXSwibmFtZXMiOlsiaHR0cHNSZXF1ZXN0IiwicmVxdWlyZSIsIlBhcnNlIiwidmFsaWRhdGVBdXRoRGF0YSIsImF1dGhEYXRhIiwicmVxdWVzdCIsImFjY2Vzc190b2tlbiIsInRoZW4iLCJkYXRhIiwiaWQiLCJFcnJvciIsIk9CSkVDVF9OT1RfRk9VTkQiLCJ2YWxpZGF0ZUFwcElkIiwiYXBwSWRzIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiaW5jbHVkZXMiLCJwYXRoIiwiZ2V0IiwiaG9zdCIsImhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBLE1BQU1BLFlBQVksR0FBR0MsT0FBTyxDQUFDLGdCQUFELENBQTVCOztBQUNBLElBQUlDLEtBQUssR0FBR0QsT0FBTyxDQUFDLFlBQUQsQ0FBUCxDQUFzQkMsS0FBbEMsQyxDQUVBOzs7QUFDQSxTQUFTQyxnQkFBVCxDQUEwQkMsUUFBMUIsRUFBb0M7QUFDbEMsU0FBT0MsT0FBTyxDQUFDLElBQUQsRUFBT0QsUUFBUSxDQUFDRSxZQUFoQixDQUFQLENBQXFDQyxJQUFyQyxDQUEwQ0MsSUFBSSxJQUFJO0FBQ3ZELFFBQUlBLElBQUksSUFBSUEsSUFBSSxDQUFDQyxFQUFMLElBQVdMLFFBQVEsQ0FBQ0ssRUFBaEMsRUFBb0M7QUFDbEM7QUFDRDs7QUFDRCxVQUFNLElBQUlQLEtBQUssQ0FBQ1EsS0FBVixDQUFnQlIsS0FBSyxDQUFDUSxLQUFOLENBQVlDLGdCQUE1QixFQUE4Qyx3Q0FBOUMsQ0FBTjtBQUNELEdBTE0sQ0FBUDtBQU1ELEMsQ0FFRDs7O0FBQ0EsZUFBZUMsYUFBZixDQUE2QkMsTUFBN0IsRUFBcUNULFFBQXJDLEVBQStDO0FBQzdDLFFBQU1FLFlBQVksR0FBR0YsUUFBUSxDQUFDRSxZQUE5Qjs7QUFDQSxNQUFJLENBQUNRLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixNQUFkLENBQUwsRUFBNEI7QUFDMUIsVUFBTSxJQUFJWCxLQUFLLENBQUNRLEtBQVYsQ0FBZ0JSLEtBQUssQ0FBQ1EsS0FBTixDQUFZQyxnQkFBNUIsRUFBOEMsMEJBQTlDLENBQU47QUFDRDs7QUFDRCxNQUFJLENBQUNFLE1BQU0sQ0FBQ0csTUFBWixFQUFvQjtBQUNsQixVQUFNLElBQUlkLEtBQUssQ0FBQ1EsS0FBVixDQUFnQlIsS0FBSyxDQUFDUSxLQUFOLENBQVlDLGdCQUE1QixFQUE4QyxpQ0FBOUMsQ0FBTjtBQUNEOztBQUNELFFBQU1ILElBQUksR0FBRyxNQUFNSCxPQUFPLENBQUMsSUFBRCxFQUFPQyxZQUFQLENBQTFCOztBQUNBLE1BQUksQ0FBQ0UsSUFBRCxJQUFTLENBQUNLLE1BQU0sQ0FBQ0ksUUFBUCxDQUFnQlQsSUFBSSxDQUFDQyxFQUFyQixDQUFkLEVBQXdDO0FBQ3RDLFVBQU0sSUFBSVAsS0FBSyxDQUFDUSxLQUFWLENBQWdCUixLQUFLLENBQUNRLEtBQU4sQ0FBWUMsZ0JBQTVCLEVBQThDLHdDQUE5QyxDQUFOO0FBQ0Q7QUFDRixDLENBRUQ7OztBQUNBLFNBQVNOLE9BQVQsQ0FBaUJhLElBQWpCLEVBQXVCWixZQUF2QixFQUFxQztBQUNuQyxTQUFPTixZQUFZLENBQUNtQixHQUFiLENBQWlCO0FBQ3RCQyxJQUFBQSxJQUFJLEVBQUUsaUJBRGdCO0FBRXRCRixJQUFBQSxJQUFJLEVBQUUsU0FBU0EsSUFGTztBQUd0QkcsSUFBQUEsT0FBTyxFQUFFO0FBQ1BDLE1BQUFBLGFBQWEsRUFBRSxZQUFZaEI7QUFEcEI7QUFIYSxHQUFqQixDQUFQO0FBT0Q7O0FBRURpQixNQUFNLENBQUNDLE9BQVAsR0FBaUI7QUFDZlosRUFBQUEsYUFBYSxFQUFFQSxhQURBO0FBRWZULEVBQUFBLGdCQUFnQixFQUFFQTtBQUZILENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIHRoZSBTcG90aWZ5IEFQSS5cbmNvbnN0IGh0dHBzUmVxdWVzdCA9IHJlcXVpcmUoJy4vaHR0cHNSZXF1ZXN0Jyk7XG52YXIgUGFyc2UgPSByZXF1aXJlKCdwYXJzZS9ub2RlJykuUGFyc2U7XG5cbi8vIFJldHVybnMgYSBwcm9taXNlIHRoYXQgZnVsZmlsbHMgaWZmIHRoaXMgdXNlciBpZCBpcyB2YWxpZC5cbmZ1bmN0aW9uIHZhbGlkYXRlQXV0aERhdGEoYXV0aERhdGEpIHtcbiAgcmV0dXJuIHJlcXVlc3QoJ21lJywgYXV0aERhdGEuYWNjZXNzX3Rva2VuKS50aGVuKGRhdGEgPT4ge1xuICAgIGlmIChkYXRhICYmIGRhdGEuaWQgPT0gYXV0aERhdGEuaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsICdTcG90aWZ5IGF1dGggaXMgaW52YWxpZCBmb3IgdGhpcyB1c2VyLicpO1xuICB9KTtcbn1cblxuLy8gUmV0dXJucyBhIHByb21pc2UgdGhhdCBmdWxmaWxscyBpZiB0aGlzIGFwcCBpZCBpcyB2YWxpZC5cbmFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlQXBwSWQoYXBwSWRzLCBhdXRoRGF0YSkge1xuICBjb25zdCBhY2Nlc3NfdG9rZW4gPSBhdXRoRGF0YS5hY2Nlc3NfdG9rZW47XG4gIGlmICghQXJyYXkuaXNBcnJheShhcHBJZHMpKSB7XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsICdhcHBJZHMgbXVzdCBiZSBhbiBhcnJheS4nKTtcbiAgfVxuICBpZiAoIWFwcElkcy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ1Nwb3RpZnkgYXV0aCBpcyBub3QgY29uZmlndXJlZC4nKTtcbiAgfVxuICBjb25zdCBkYXRhID0gYXdhaXQgcmVxdWVzdCgnbWUnLCBhY2Nlc3NfdG9rZW4pO1xuICBpZiAoIWRhdGEgfHwgIWFwcElkcy5pbmNsdWRlcyhkYXRhLmlkKSkge1xuICAgIHRocm93IG5ldyBQYXJzZS5FcnJvcihQYXJzZS5FcnJvci5PQkpFQ1RfTk9UX0ZPVU5ELCAnU3BvdGlmeSBhdXRoIGlzIGludmFsaWQgZm9yIHRoaXMgdXNlci4nKTtcbiAgfVxufVxuXG4vLyBBIHByb21pc2V5IHdyYXBwZXIgZm9yIFNwb3RpZnkgQVBJIHJlcXVlc3RzLlxuZnVuY3Rpb24gcmVxdWVzdChwYXRoLCBhY2Nlc3NfdG9rZW4pIHtcbiAgcmV0dXJuIGh0dHBzUmVxdWVzdC5nZXQoe1xuICAgIGhvc3Q6ICdhcGkuc3BvdGlmeS5jb20nLFxuICAgIHBhdGg6ICcvdjEvJyArIHBhdGgsXG4gICAgaGVhZGVyczoge1xuICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgYWNjZXNzX3Rva2VuLFxuICAgIH0sXG4gIH0pO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgdmFsaWRhdGVBcHBJZDogdmFsaWRhdGVBcHBJZCxcbiAgdmFsaWRhdGVBdXRoRGF0YTogdmFsaWRhdGVBdXRoRGF0YSxcbn07XG4iXX0=
|