From a87ab6f1c4d8bb00a90ef34d1556c3cc236c5d98 Mon Sep 17 00:00:00 2001 From: Felix Dumit Date: Tue, 9 Aug 2016 05:38:22 -0700 Subject: [PATCH] Support for validating LinkedIn SDK access_tokens (#2486) --- src/authDataManager/linkedin.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/authDataManager/linkedin.js b/src/authDataManager/linkedin.js index 43a8898e..e16069d2 100644 --- a/src/authDataManager/linkedin.js +++ b/src/authDataManager/linkedin.js @@ -4,7 +4,7 @@ var Parse = require('parse/node').Parse; // Returns a promise that fulfills iff this user id is valid. function validateAuthData(authData) { - return request('people/~:(id)', authData.access_token) + return request('people/~:(id)', authData.access_token, authData.is_mobile_sdk) .then((data) => { if (data && data.id == authData.id) { return; @@ -21,15 +21,21 @@ function validateAppId() { } // A promisey wrapper for api requests -function request(path, access_token) { +function request(path, access_token, is_mobile_sdk) { + var headers = { + 'Authorization': 'Bearer ' + access_token, + 'x-li-format': 'json', + } + + if(is_mobile_sdk) { + headers['x-li-src'] = 'msdk'; + } + return new Promise(function(resolve, reject) { https.get({ host: 'api.linkedin.com', path: '/v1/' + path, - headers: { - 'Authorization': 'Bearer '+access_token, - 'x-li-format': 'json' - } + headers: headers }, function(res) { var data = ''; res.on('data', function(chunk) {