Skip to content

Commit

Permalink
update(*): fix auth sessions
Browse files Browse the repository at this point in the history
  • Loading branch information
NebraskyTheWolf committed Jan 27, 2024
1 parent 3ca169d commit d8f0fb2
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 6 deletions.
7 changes: 7 additions & 0 deletions src/api/website/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,13 @@ export interface CustomResponse extends Response {
token?: DiscordAccount;
}

declare module 'express-session' {
interface SessionData {
account?: DiscordAccount
accountId?: string;
}
}

export default class WebsiteServer {
private routes: Tuple<AbstractRoutes>
private server: http.Server
Expand Down
5 changes: 2 additions & 3 deletions src/api/website/middleware/CAuthMiddleware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@ export default class CAuthMiddleware extends BaseMiddleware {
}

public async handle(request: CustomRequest, response: CustomResponse, next) {

if (isNull(request.internal)) {
if (isNull(request.session.accountId)) {
return response.redirect("https://www.riniya.uk/user/login")
} else {
const account = await DiscordAccount.findOne({ _id: request.internal })
const account = await DiscordAccount.findOne({ _id: request.session.accountId })
if (isNull(account)) {
return response.redirect("https://www.riniya.uk")
}
Expand Down
8 changes: 6 additions & 2 deletions src/api/website/routes/Auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,9 @@ export default class Auth extends AbstractRoutes {
},
uuid: discordState
}).save().then(r => {

req.session.account = r
req.session.accountId = r._id
req.session.save()
})
} else {
await DiscordAccount.updateOne({
Expand All @@ -92,7 +94,9 @@ export default class Auth extends AbstractRoutes {
}
})


req.session.account = account
req.session.accountId = account._id
req.session.save()
}

res.status(200).redirect("https://www.riniya.uk/dashboard")
Expand Down
2 changes: 1 addition & 1 deletion src/api/website/routes/Dashboard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export default class Dashboard extends AbstractRoutes {

this.router.get('/', function (req: CustomRequest, res) {
res.render('dashboard', {
user: req.token
user: req.session.account
})
})
}
Expand Down

0 comments on commit d8f0fb2

Please sign in to comment.