From 6f5a1f1b6e91aa42f3249d8a0bceb1f1febe936f Mon Sep 17 00:00:00 2001 From: Alexandre ABRIOUX Date: Tue, 28 Sep 2021 15:12:15 +0200 Subject: [PATCH 1/2] send token in Authorization header --- src/api.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/api.js b/src/api.js index 5a96f9a..cbbbc46 100644 --- a/src/api.js +++ b/src/api.js @@ -2,7 +2,7 @@ const config = require('./config'); const form = require('form-urlencoded'); const Promise = require('es6-promise').Promise; -const sendRequest = (method, url, data, progress) => { +const sendRequest = (method, url, data, progress, token) => { let xhr; const requestPromise = new Promise((resolve) => { const isFormData = global.FormData && (data instanceof FormData); @@ -17,6 +17,10 @@ const sendRequest = (method, url, data, progress) => { xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); } + if (token) { + xhr.setRequestHeader('Authorization', `Bearer ${token}`); + } + xhr.onreadystatechange = () => { if (xhr.readyState === 4) { resolve({responseText: xhr.responseText, request: xhr}); @@ -72,13 +76,13 @@ const parseResponse = ({responseText, request}) => { * @param {Function=} progress upload progress handler * @return {Promise} */ -const sendAndFollow = (method, url, data, progress) => { - const requestPromise = sendRequest(method, url, data, progress); +const sendAndFollow = (method, url, data, progress, token) => { + const requestPromise = sendRequest(method, url, data, progress, token); const followPromise = requestPromise.then(({responseText, request}) => { const response = parseResponse({responseText, request}); if (response.json && response.json.status === '302 - Found') { - return sendAndFollow('GET', response.json.location, null); + return sendAndFollow('GET', response.json.location, null, token); } else { if (request.status !== 200 && response.error) { throw response.error; @@ -119,10 +123,8 @@ module.exports = { additionalParams.format = 'json'; - // set the oauth_token or, in case none has been issued yet, the client_id - if (oauthToken) { - additionalParams.oauth_token = oauthToken; - } else { + // in case not token has been issued yet, set the client_id + if (!oauthToken) { additionalParams.client_id = clientId; } @@ -141,7 +143,7 @@ module.exports = { // construct request url url = `${config.get('baseURL')}${path}?${form.encode(params)}`; - return sendAndFollow(method, url, data, progress); + return sendAndFollow(method, url, data, progress, oauthToken); }, /** From bb90bf4d47f039534cb96569807e1dfa2072f115 Mon Sep 17 00:00:00 2001 From: Alexandre ABRIOUX Date: Fri, 17 Dec 2021 01:10:30 +0100 Subject: [PATCH 2/2] change from bearer to oauth --- src/api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api.js b/src/api.js index cbbbc46..2cb00f9 100644 --- a/src/api.js +++ b/src/api.js @@ -18,7 +18,7 @@ const sendRequest = (method, url, data, progress, token) => { } if (token) { - xhr.setRequestHeader('Authorization', `Bearer ${token}`); + xhr.setRequestHeader('Authorization', `OAuth ${token}`); } xhr.onreadystatechange = () => {