mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 18:44:16 +00:00
use createTokenRegeneration
This commit is contained in:
parent
7d45d039e1
commit
d0003ca7f2
@ -1,5 +1,6 @@
|
||||
import { Session, User, authorizedServerTokens } from "@shared-classes/DbModels"
|
||||
import { Token } from "@lib"
|
||||
|
||||
import createTokenRegeneration from "@utils/createTokenRegeneration"
|
||||
|
||||
import SecureEntry from "@lib/secureEntry"
|
||||
|
||||
@ -57,29 +58,12 @@ export default async (req, res, next) => {
|
||||
return reject("Invalid token, cannot regenerate")
|
||||
}
|
||||
|
||||
let regenerationToken = null
|
||||
|
||||
// check if this expired token has a regeneration token associated
|
||||
const associatedRegenerationToken = await Token.getRegenerationToken(token)
|
||||
|
||||
if (associatedRegenerationToken) {
|
||||
regenerationToken = associatedRegenerationToken.refreshToken
|
||||
} else {
|
||||
// create a new regeneration token with the expired token
|
||||
regenerationToken = await Token.createNewRegenerationToken(token).catch((error) => {
|
||||
// in case of error, reject
|
||||
reject(error.message)
|
||||
|
||||
return null
|
||||
})
|
||||
}
|
||||
|
||||
if (!regenerationToken) return
|
||||
const refreshToken = await createTokenRegeneration(token)
|
||||
|
||||
// now send the regeneration token to the client (start Expired Exception Event [EEE])
|
||||
return res.status(401).json({
|
||||
error: "Token expired",
|
||||
refreshToken: regenerationToken.refreshToken,
|
||||
refreshToken: refreshToken,
|
||||
})
|
||||
}
|
||||
|
||||
|
17
packages/server/src/utils/createTokenRegeneration/index.js
Normal file
17
packages/server/src/utils/createTokenRegeneration/index.js
Normal file
@ -0,0 +1,17 @@
|
||||
import { Token } from "@lib"
|
||||
|
||||
export default async (expiredToken) => {
|
||||
let regenerationToken = null
|
||||
|
||||
// check if this expired token has a regeneration token associated
|
||||
const associatedRegenerationToken = await Token.getRegenerationToken(expiredToken)
|
||||
|
||||
if (associatedRegenerationToken) {
|
||||
regenerationToken = associatedRegenerationToken.refreshToken
|
||||
} else {
|
||||
// create a new regeneration token with the expired token
|
||||
regenerationToken = await Token.createNewRegenerationToken(expiredToken)
|
||||
}
|
||||
|
||||
return regenerationToken.refreshToken
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user