123456789101112131415161718192021222324252627282930313233343536373839404142 |
- "use strict";
- // Helper functions for accessing the qq Graph API.
- const httpsRequest = require('./httpsRequest');
- var Parse = require('parse/node').Parse;
- // Returns a promise that fulfills iff this user id is valid.
- function validateAuthData(authData) {
- return graphRequest('me?access_token=' + authData.access_token).then(function (data) {
- if (data && data.openid == authData.id) {
- return;
- }
- throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'qq auth is invalid for this user.');
- });
- }
- // Returns a promise that fulfills if this app id is valid.
- function validateAppId() {
- return Promise.resolve();
- }
- // A promisey wrapper for qq graph requests.
- function graphRequest(path) {
- return httpsRequest.get('https://graph.qq.com/oauth2.0/' + path, true).then(data => {
- return parseResponseData(data);
- });
- }
- function parseResponseData(data) {
- const starPos = data.indexOf('(');
- const endPos = data.indexOf(')');
- if (starPos == -1 || endPos == -1) {
- throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'qq auth is invalid for this user.');
- }
- data = data.substring(starPos + 1, endPos - 1);
- return JSON.parse(data);
- }
- module.exports = {
- validateAppId,
- validateAuthData,
- parseResponseData
- };
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJodHRwc1JlcXVlc3QiLCJyZXF1aXJlIiwiUGFyc2UiLCJ2YWxpZGF0ZUF1dGhEYXRhIiwiYXV0aERhdGEiLCJncmFwaFJlcXVlc3QiLCJhY2Nlc3NfdG9rZW4iLCJ0aGVuIiwiZGF0YSIsIm9wZW5pZCIsImlkIiwiRXJyb3IiLCJPQkpFQ1RfTk9UX0ZPVU5EIiwidmFsaWRhdGVBcHBJZCIsIlByb21pc2UiLCJyZXNvbHZlIiwicGF0aCIsImdldCIsInBhcnNlUmVzcG9uc2VEYXRhIiwic3RhclBvcyIsImluZGV4T2YiLCJlbmRQb3MiLCJzdWJzdHJpbmciLCJKU09OIiwicGFyc2UiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0FkYXB0ZXJzL0F1dGgvcXEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIHRoZSBxcSBHcmFwaCBBUEkuXG5jb25zdCBodHRwc1JlcXVlc3QgPSByZXF1aXJlKCcuL2h0dHBzUmVxdWVzdCcpO1xudmFyIFBhcnNlID0gcmVxdWlyZSgncGFyc2Uvbm9kZScpLlBhcnNlO1xuXG4vLyBSZXR1cm5zIGEgcHJvbWlzZSB0aGF0IGZ1bGZpbGxzIGlmZiB0aGlzIHVzZXIgaWQgaXMgdmFsaWQuXG5mdW5jdGlvbiB2YWxpZGF0ZUF1dGhEYXRhKGF1dGhEYXRhKSB7XG4gIHJldHVybiBncmFwaFJlcXVlc3QoJ21lP2FjY2Vzc190b2tlbj0nICsgYXV0aERhdGEuYWNjZXNzX3Rva2VuKS50aGVuKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgaWYgKGRhdGEgJiYgZGF0YS5vcGVuaWQgPT0gYXV0aERhdGEuaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFBhcnNlLkVycm9yKFBhcnNlLkVycm9yLk9CSkVDVF9OT1RfRk9VTkQsICdxcSBhdXRoIGlzIGludmFsaWQgZm9yIHRoaXMgdXNlci4nKTtcbiAgfSk7XG59XG5cbi8vIFJldHVybnMgYSBwcm9taXNlIHRoYXQgZnVsZmlsbHMgaWYgdGhpcyBhcHAgaWQgaXMgdmFsaWQuXG5mdW5jdGlvbiB2YWxpZGF0ZUFwcElkKCkge1xuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG59XG5cbi8vIEEgcHJvbWlzZXkgd3JhcHBlciBmb3IgcXEgZ3JhcGggcmVxdWVzdHMuXG5mdW5jdGlvbiBncmFwaFJlcXVlc3QocGF0aCkge1xuICByZXR1cm4gaHR0cHNSZXF1ZXN0LmdldCgnaHR0cHM6Ly9ncmFwaC5xcS5jb20vb2F1dGgyLjAvJyArIHBhdGgsIHRydWUpLnRoZW4oZGF0YSA9PiB7XG4gICAgcmV0dXJuIHBhcnNlUmVzcG9uc2VEYXRhKGRhdGEpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFyc2VSZXNwb25zZURhdGEoZGF0YSkge1xuICBjb25zdCBzdGFyUG9zID0gZGF0YS5pbmRleE9mKCcoJyk7XG4gIGNvbnN0IGVuZFBvcyA9IGRhdGEuaW5kZXhPZignKScpO1xuICBpZiAoc3RhclBvcyA9PSAtMSB8fCBlbmRQb3MgPT0gLTEpIHtcbiAgICB0aHJvdyBuZXcgUGFyc2UuRXJyb3IoUGFyc2UuRXJyb3IuT0JKRUNUX05PVF9GT1VORCwgJ3FxIGF1dGggaXMgaW52YWxpZCBmb3IgdGhpcyB1c2VyLicpO1xuICB9XG4gIGRhdGEgPSBkYXRhLnN1YnN0cmluZyhzdGFyUG9zICsgMSwgZW5kUG9zIC0gMSk7XG4gIHJldHVybiBKU09OLnBhcnNlKGRhdGEpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgdmFsaWRhdGVBcHBJZCxcbiAgdmFsaWRhdGVBdXRoRGF0YSxcbiAgcGFyc2VSZXNwb25zZURhdGEsXG59O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0EsTUFBTUEsWUFBWSxHQUFHQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7QUFDOUMsSUFBSUMsS0FBSyxHQUFHRCxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUNDLEtBQUs7O0FBRXZDO0FBQ0EsU0FBU0MsZ0JBQWdCQSxDQUFDQyxRQUFRLEVBQUU7RUFDbEMsT0FBT0MsWUFBWSxDQUFDLGtCQUFrQixHQUFHRCxRQUFRLENBQUNFLFlBQVksQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBVUMsSUFBSSxFQUFFO0lBQ25GLElBQUlBLElBQUksSUFBSUEsSUFBSSxDQUFDQyxNQUFNLElBQUlMLFFBQVEsQ0FBQ00sRUFBRSxFQUFFO01BQ3RDO0lBQ0Y7SUFDQSxNQUFNLElBQUlSLEtBQUssQ0FBQ1MsS0FBSyxDQUFDVCxLQUFLLENBQUNTLEtBQUssQ0FBQ0MsZ0JBQWdCLEVBQUUsbUNBQW1DLENBQUM7RUFDMUYsQ0FBQyxDQUFDO0FBQ0o7O0FBRUE7QUFDQSxTQUFTQyxhQUFhQSxDQUFBLEVBQUc7RUFDdkIsT0FBT0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsQ0FBQztBQUMxQjs7QUFFQTtBQUNBLFNBQVNWLFlBQVlBLENBQUNXLElBQUksRUFBRTtFQUMxQixPQUFPaEIsWUFBWSxDQUFDaUIsR0FBRyxDQUFDLGdDQUFnQyxHQUFHRCxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUNULElBQUksQ0FBQ0MsSUFBSSxJQUFJO0lBQ2xGLE9BQU9VLGlCQUFpQixDQUFDVixJQUFJLENBQUM7RUFDaEMsQ0FBQyxDQUFDO0FBQ0o7QUFFQSxTQUFTVSxpQkFBaUJBLENBQUNWLElBQUksRUFBRTtFQUMvQixNQUFNVyxPQUFPLEdBQUdYLElBQUksQ0FBQ1ksT0FBTyxDQUFDLEdBQUcsQ0FBQztFQUNqQyxNQUFNQyxNQUFNLEdBQUdiLElBQUksQ0FBQ1ksT0FBTyxDQUFDLEdBQUcsQ0FBQztFQUNoQyxJQUFJRCxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUlFLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRTtJQUNqQyxNQUFNLElBQUluQixLQUFLLENBQUNTLEtBQUssQ0FBQ1QsS0FBSyxDQUFDUyxLQUFLLENBQUNDLGdCQUFnQixFQUFFLG1DQUFtQyxDQUFDO0VBQzFGO0VBQ0FKLElBQUksR0FBR0EsSUFBSSxDQUFDYyxTQUFTLENBQUNILE9BQU8sR0FBRyxDQUFDLEVBQUVFLE1BQU0sR0FBRyxDQUFDLENBQUM7RUFDOUMsT0FBT0UsSUFBSSxDQUFDQyxLQUFLLENBQUNoQixJQUFJLENBQUM7QUFDekI7QUFFQWlCLE1BQU0sQ0FBQ0MsT0FBTyxHQUFHO0VBQ2ZiLGFBQWE7RUFDYlYsZ0JBQWdCO0VBQ2hCZTtBQUNGLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|