Skip to content

Commit

Permalink
try without passport jwt
Browse files Browse the repository at this point in the history
  • Loading branch information
LarmuseauNiels committed Apr 14, 2023
1 parent cbd2856 commit 250a4cb
Show file tree
Hide file tree
Showing 7 changed files with 67 additions and 157 deletions.
19 changes: 19 additions & 0 deletions modules/ApiFunctions/Helpers.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
import jwt from "jsonwebtoken";

export function jsonify(obj) {
return JSON.stringify(obj, (key, value) =>
typeof value === "bigint" ? Number(value) : value
);
}

export function authenticateToken(req, res, next) {
const authHeader = req.headers["authorization"];
const token = authHeader && authHeader.split(" ")[1];

if (token == null) return res.sendStatus(401);

jwt.verify(token, process.env.TOKEN as string, (err: any, user: any) => {
console.log(err);

if (err) return res.sendStatus(403);

req.user = user;

next();
});
}
39 changes: 39 additions & 0 deletions modules/ApiFunctions/MemberEndPoints.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { jsonify, authenticateToken } from "./Helpers";

export function memberEndPoints(app) {
app.post("/profile", authenticateToken, function (req, res) {
res.send(jsonify(req.user));
});

//getLibrary for user
app.post("/library", authenticateToken, function (req, res) {
let user = req.user;
global.client.prisma.rewardItem
.findMany({
where: {
RedeemedBy: user.id,
},
select: {
RewardItemID: true,
RedemptionTimeStamp: true,
Reward: {
select: {
Title: true,
},
},
RedemptionText: true,
},
})
.then((rawLibrary) => {
let library = rawLibrary.map((item) => {
return {
game: item.Reward.Title,
orderId: item.RewardItemID,
redemptionText: item.RedemptionText,
timestamp: item.RedemptionTimeStamp,
};
});
return res.send(jsonify(library));
});
});
}
10 changes: 5 additions & 5 deletions modules/ApiFunctions/ViewModels/libraryitem.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export class LibraryItem {
public orderId: string;
public game: string;
public timestamp: string;
public redemptionText: string;
export interface LibraryItem {
orderId: string;
game: string;
timestamp: string;
redemptionText: string;
}
27 changes: 2 additions & 25 deletions modules/WebApi.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import express from "express";
import cors from "cors";
import passport from "passport";
import session from "express-session";
import jwt from "jsonwebtoken";
import { legacyEndPoints } from "./ApiFunctions/LegacyEndPoints";
import { jsonify } from "./ApiFunctions/Helpers";
import { memberEndPoints } from "./ApiFunctions/MemberEndPoints";
const DiscordStrategy = require("passport-discord").Strategy;
const app = express();
const prompt = "consent";
Expand Down Expand Up @@ -63,12 +63,8 @@ export class WebApi {
res.send(token);
} // auth success
);
app.post("/profile", authenticateToken, function (req, res) {
res.send(jsonify(req.user));
});

app.get("/test", function (req, res) {});

memberEndPoints(app);
legacyEndPoints(app);
app.get("/", function (req, res) {
res.send("KRAKEN API");
Expand All @@ -92,22 +88,3 @@ async function logDiscordLogin(profile) {
});
console.log(`Logged discord login: ${profile.username} ${result.Id}`);
}

const jwt = require("jsonwebtoken");

function authenticateToken(req, res, next) {
const authHeader = req.headers["authorization"];
const token = authHeader && authHeader.split(" ")[1];

if (token == null) return res.sendStatus(401);

jwt.verify(token, process.env.TOKEN as string, (err: any, user: any) => {
console.log(err);

if (err) return res.sendStatus(403);

req.user = user;

next();
});
}
73 changes: 0 additions & 73 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 0 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,11 @@
"cors": "^2.8.5",
"discord.js": "^14.8.0",
"express": "^4.17.1",
"express-session": "^1.17.3",
"jsonwebtoken": "^9.0.0",
"node-cron": "^3.0.0",
"openai": "^3.2.1",
"passport": "^0.6.0",
"passport-discord": "^0.1.4",
"passport-jwt": "^4.0.1",
"passport-oauth2-refresh": "^2.1.0",
"typescript": "^5.0.2"
},
"devDependencies": {
Expand Down
53 changes: 2 additions & 51 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -430,11 +430,6 @@ cookie-signature@1.0.6:
resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==

cookie@0.4.2:
version "0.4.2"
resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz"
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==

cookie@0.5.0:
version "0.5.0"
resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz"
Expand Down Expand Up @@ -465,7 +460,7 @@ delayed-stream@~1.0.0:
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==

depd@~2.0.0, depd@2.0.0:
depd@2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
Expand Down Expand Up @@ -560,20 +555,6 @@ event-target-shim@^5.0.0:
resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz"
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==

express-session@^1.17.3:
version "1.17.3"
resolved "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz"
integrity sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==
dependencies:
cookie "0.4.2"
cookie-signature "1.0.6"
debug "2.6.9"
depd "~2.0.0"
on-headers "~1.0.2"
parseurl "~1.3.3"
safe-buffer "5.2.1"
uid-safe "~2.1.5"

express@^4.17.1:
version "4.18.2"
resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz"
Expand Down Expand Up @@ -863,11 +844,6 @@ on-finished@2.4.1:
dependencies:
ee-first "1.1.1"

on-headers@~1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz"
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==

once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
Expand Down Expand Up @@ -895,19 +871,6 @@ passport-discord@^0.1.4:
dependencies:
passport-oauth2 "^1.5.0"

passport-jwt@^4.0.1:
version "4.0.1"
resolved "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.1.tgz"
integrity sha512-UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ==
dependencies:
jsonwebtoken "^9.0.0"
passport-strategy "^1.0.0"

passport-oauth2-refresh@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/passport-oauth2-refresh/-/passport-oauth2-refresh-2.1.0.tgz"
integrity sha512-4ML7ooCESCqiTgdDBzNUFTBcPR8zQq9iM6eppEUGMMvLdsjqRL93jKwWm4Az3OJcI+Q2eIVyI8sVRcPFvxcF/A==

passport-oauth2@^1.5.0:
version "1.7.0"
resolved "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.7.0.tgz"
Expand All @@ -919,7 +882,7 @@ passport-oauth2@^1.5.0:
uid2 "0.0.x"
utils-merge "1.x.x"

passport-strategy@^1.0.0, passport-strategy@1.x.x:
passport-strategy@1.x.x:
version "1.0.0"
resolved "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz"
integrity sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==
Expand Down Expand Up @@ -983,11 +946,6 @@ qs@6.11.0:
dependencies:
side-channel "^1.0.4"

random-bytes@~1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz"
integrity sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==

range-parser@~1.2.1:
version "1.2.1"
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
Expand Down Expand Up @@ -1176,13 +1134,6 @@ typescript@^5.0.2, typescript@>=2.7:
resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz"
integrity sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==

uid-safe@~2.1.5:
version "2.1.5"
resolved "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz"
integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==
dependencies:
random-bytes "~1.0.0"

uid2@0.0.x:
version "0.0.4"
resolved "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz"
Expand Down

0 comments on commit 250a4cb

Please sign in to comment.