aboutsummaryrefslogtreecommitdiffstats
path: root/src/internal-server/app/Controllers/Http/UserController.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal-server/app/Controllers/Http/UserController.js')
-rw-r--r--src/internal-server/app/Controllers/Http/UserController.js25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/internal-server/app/Controllers/Http/UserController.js b/src/internal-server/app/Controllers/Http/UserController.js
index a3ad736fa..57aea6fc1 100644
--- a/src/internal-server/app/Controllers/Http/UserController.js
+++ b/src/internal-server/app/Controllers/Http/UserController.js
@@ -9,18 +9,16 @@ const btoa = require('btoa');
9const fetch = require('node-fetch'); 9const fetch = require('node-fetch');
10const uuid = require('uuid/v4'); 10const uuid = require('uuid/v4');
11const crypto = require('crypto'); 11const crypto = require('crypto');
12const { DEFAULT_APP_SETTINGS } = require('../../../../environment'); 12const { DEFAULT_APP_SETTINGS, API_VERSION } = require('../../../../environment');
13const { default: userAgent } = require('../../../../helpers/userAgent-helpers');
13 14
14const apiRequest = (url, route, method, auth) => new Promise((resolve, reject) => { 15const apiRequest = (url, route, method, auth) => new Promise((resolve, reject) => {
15 const base = `${url}/v1/`;
16 const user = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Ferdi/5.3.0-beta.1 Chrome/69.0.3497.128 Electron/4.2.4 Safari/537.36';
17
18 try { 16 try {
19 fetch(base + route, { 17 fetch(`${url}/${API_VERSION}/${route}`, {
20 method, 18 method,
21 headers: { 19 headers: {
22 Authorization: `Bearer ${auth}`, 20 Authorization: `Bearer ${auth}`,
23 'User-Agent': user, 21 'User-Agent': userAgent(),
24 }, 22 },
25 }) 23 })
26 .then(data => data.json()) 24 .then(data => data.json())
@@ -30,6 +28,8 @@ const apiRequest = (url, route, method, auth) => new Promise((resolve, reject) =
30 } 28 }
31}); 29});
32 30
31const LOGIN_SUCCESS_TOKEN = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJGZXJkaSBJbnRlcm5hbCBTZXJ2ZXIiLCJpYXQiOjE1NzEwNDAyMTUsImV4cCI6MjUzMzk1NDE3ODQ0LCJhdWQiOiJnZXRmZXJkaS5jb20iLCJzdWIiOiJmZXJkaUBsb2NhbGhvc3QiLCJ1c2VySWQiOiIxIn0.9_TWFGp6HROv8Yg82Rt6i1-95jqWym40a-HmgrdMC6M';
32
33class UserController { 33class UserController {
34 // Register a new user 34 // Register a new user
35 async signup({ 35 async signup({
@@ -52,7 +52,7 @@ class UserController {
52 52
53 return response.send({ 53 return response.send({
54 message: 'Successfully created account', 54 message: 'Successfully created account',
55 token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJGZXJkaSBJbnRlcm5hbCBTZXJ2ZXIiLCJpYXQiOjE1NzEwNDAyMTUsImV4cCI6MjUzMzk1NDE3ODQ0LCJhdWQiOiJnZXRmZXJkaS5jb20iLCJzdWIiOiJmZXJkaUBsb2NhbGhvc3QiLCJ1c2VySWQiOiIxIn0.9_TWFGp6HROv8Yg82Rt6i1-95jqWym40a-HmgrdMC6M', 55 token: LOGIN_SUCCESS_TOKEN,
56 }); 56 });
57 } 57 }
58 58
@@ -70,7 +70,7 @@ class UserController {
70 70
71 return response.send({ 71 return response.send({
72 message: 'Successfully logged in', 72 message: 'Successfully logged in',
73 token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJGZXJkaSBJbnRlcm5hbCBTZXJ2ZXIiLCJpYXQiOjE1NzEwNDAyMTUsImV4cCI6MjUzMzk1NDE3ODQ0LCJhdWQiOiJnZXRmZXJkaS5jb20iLCJzdWIiOiJmZXJkaUBsb2NhbGhvc3QiLCJ1c2VySWQiOiIxIn0.9_TWFGp6HROv8Yg82Rt6i1-95jqWym40a-HmgrdMC6M', 73 token: LOGIN_SUCCESS_TOKEN,
74 }); 74 });
75 } 75 }
76 76
@@ -85,7 +85,6 @@ class UserController {
85 return response.send({ 85 return response.send({
86 accountType: 'individual', 86 accountType: 'individual',
87 beta: false, 87 beta: false,
88 donor: {},
89 email: '', 88 email: '',
90 emailValidated: true, 89 emailValidated: true,
91 features: {}, 90 features: {},
@@ -121,7 +120,6 @@ class UserController {
121 data: { 120 data: {
122 accountType: 'individual', 121 accountType: 'individual',
123 beta: false, 122 beta: false,
124 donor: {},
125 email: '', 123 email: '',
126 emailValidated: true, 124 emailValidated: true,
127 features: {}, 125 features: {},
@@ -170,19 +168,16 @@ class UserController {
170 168
171 const hashedPassword = crypto.createHash('sha256').update(password).digest('base64'); 169 const hashedPassword = crypto.createHash('sha256').update(password).digest('base64');
172 170
173 const base = `${server}/v1/`;
174 const userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Ferdi/5.3.0-beta.1 Chrome/69.0.3497.128 Electron/4.2.4 Safari/537.36';
175
176 // Try to get an authentication token 171 // Try to get an authentication token
177 let token; 172 let token;
178 try { 173 try {
179 const basicToken = btoa(`${email}:${hashedPassword}`); 174 const basicToken = btoa(`${email}:${hashedPassword}`);
180 175
181 const rawResponse = await fetch(`${base}auth/login`, { 176 const rawResponse = await fetch(`${server}/${API_VERSION}/auth/login`, {
182 method: 'POST', 177 method: 'POST',
183 headers: { 178 headers: {
184 Authorization: `Basic ${basicToken}`, 179 Authorization: `Basic ${basicToken}`,
185 'User-Agent': userAgent, 180 'User-Agent': userAgent(),
186 }, 181 },
187 }); 182 });
188 const content = await rawResponse.json(); 183 const content = await rawResponse.json();