This repository was archived by the owner on Jan 22, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
60 lines (55 loc) · 1.89 KB
/
app.js
File metadata and controls
60 lines (55 loc) · 1.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
const express = require('express');
const bodyParser = require('body-parser');
const https = require('https');
const fs = require('fs')
const request = require('request');
require('dotenv').config();
const port = 5000;
const baseUrl = "https://api.freshbooks.com";
const clientSecret = process.env.CLIENT_SECRET;
const clientId = process.env.CLIENT_ID;
const redirectURI = process.env.REDIRECT_URL;
const serverKey = fs.readFileSync(__dirname + '/server.key');
const serverCert = fs.readFileSync(__dirname + '/server.crt');
let options = {
key: serverKey,
cert: serverCert
};
const app = express();
app.use(bodyParser.json());
app.get('/TestAuthentication/', function(req, res) {
let authCode = req.query.code;
let authData = {
"grant_type": "authorization_code",
"client_secret": clientSecret,
"code": authCode,
"client_id": clientId,
"redirect_uri": redirectURI
};
let oauthUrl = baseUrl + '/auth/oauth/token';
oauthRequest = request.post(oauthUrl, {json:authData}, function(err,oauthResponse,oauthBody){
if (err) {
console.error(err);
res.send(err);
}
let meOptions = {
headers: {
'Authorization': 'Bearer ' + oauthBody.access_token
}
};
let meUrl = baseUrl + "/auth/api/v1/users/me";
meRequest = request.get(meUrl, meOptions, function(meErr, meResponse, meBody){
if(meErr){
console.error(meErr)
res.send(err)
}
meBodyJson = JSON.parse(meBody);
meProfile = meBodyJson.response.profile;
res.send("You have successfully logged in for " + meProfile.first_name + " " + meProfile.last_name);
});
});
});
const httpsServer = https.createServer(options, app)
httpsServer.listen(port, () => {
console.log("server starting on port : " + port)
});