mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 10:34:17 +00:00
split createNewAuthToken
This commit is contained in:
parent
45ce316c6e
commit
3376a21921
@ -2,6 +2,28 @@ import jwt from "jsonwebtoken"
|
|||||||
import { Session, RegenerationToken } from "@shared-classes/DbModels"
|
import { Session, RegenerationToken } from "@shared-classes/DbModels"
|
||||||
|
|
||||||
export default class Token {
|
export default class Token {
|
||||||
|
static async createNewAuthToken(payload, options = {}) {
|
||||||
|
if (options.updateSession) {
|
||||||
|
const sessionData = await Session.findOne({ _id: options.updateSession })
|
||||||
|
|
||||||
|
payload.session_uuid = sessionData.session_uuid
|
||||||
|
} else {
|
||||||
|
payload.session_uuid = global.nanoid()
|
||||||
|
}
|
||||||
|
|
||||||
|
const token = jwt.sign({
|
||||||
|
session_uuid: payload.session_uuid,
|
||||||
|
username: payload.username,
|
||||||
|
user_id: payload.user_id,
|
||||||
|
signLocation: payload.signLocation,
|
||||||
|
}, global.jwtStrategy.secretOrKey, {
|
||||||
|
expiresIn: global.jwtStrategy.expiresIn ?? "1h",
|
||||||
|
algorithm: global.jwtStrategy.algorithm ?? "HS256"
|
||||||
|
})
|
||||||
|
|
||||||
|
return token
|
||||||
|
}
|
||||||
|
|
||||||
static async validate(token) {
|
static async validate(token) {
|
||||||
if (typeof token === "undefined") {
|
if (typeof token === "undefined") {
|
||||||
throw new Error("Token is undefined")
|
throw new Error("Token is undefined")
|
||||||
@ -108,7 +130,7 @@ export default class Token {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// generate a new token
|
// generate a new token
|
||||||
const newToken = await createNewAuthToken({
|
const newToken = await this.createNewAuthToken({
|
||||||
username: decodedExpiredToken.username,
|
username: decodedExpiredToken.username,
|
||||||
session_uuid: session.session_uuid,
|
session_uuid: session.session_uuid,
|
||||||
user_id: decodedExpiredToken.user_id,
|
user_id: decodedExpiredToken.user_id,
|
||||||
@ -124,23 +146,7 @@ export default class Token {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static async createAuth(payload, options = {}) {
|
static async createAuth(payload, options = {}) {
|
||||||
if (options.updateSession) {
|
const token = await this.createNewAuthToken(payload, options)
|
||||||
const sessionData = await Session.findOne({ _id: options.updateSession })
|
|
||||||
|
|
||||||
payload.session_uuid = sessionData.session_uuid
|
|
||||||
} else {
|
|
||||||
payload.session_uuid = global.nanoid()
|
|
||||||
}
|
|
||||||
|
|
||||||
const token = jwt.sign({
|
|
||||||
session_uuid: payload.session_uuid,
|
|
||||||
username: payload.username,
|
|
||||||
user_id: payload.user_id,
|
|
||||||
signLocation: payload.signLocation,
|
|
||||||
}, global.jwtStrategy.secretOrKey, {
|
|
||||||
expiresIn: global.jwtStrategy.expiresIn ?? "1h",
|
|
||||||
algorithm: global.jwtStrategy.algorithm ?? "HS256"
|
|
||||||
})
|
|
||||||
|
|
||||||
const session = {
|
const session = {
|
||||||
token: token,
|
token: token,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user