mirror of
https://git.sr.ht/~cadence/cloudtube
synced 2026-05-26 12:32:25 +00:00
Allow data syncing and deletion
This commit is contained in:
parent
e0bc0d2e81
commit
2faaa2e18b
10 changed files with 138 additions and 28 deletions
|
|
@ -9,10 +9,7 @@ function getToken(req, responseHeaders) {
|
|||
let token = cookie.token
|
||||
if (!token) {
|
||||
if (responseHeaders) { // we should create a token
|
||||
const setCookie = responseHeaders["set-cookie"] || []
|
||||
token = crypto.randomBytes(18).toString("base64").replace(/\W/g, "_")
|
||||
setCookie.push(`token=${token}; Path=/; Max-Age=2147483648; HttpOnly; SameSite=Lax`)
|
||||
responseHeaders["set-cookie"] = setCookie
|
||||
setToken(responseHeaders)
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
|
|
@ -21,6 +18,14 @@ function getToken(req, responseHeaders) {
|
|||
return token
|
||||
}
|
||||
|
||||
function setToken(responseHeaders, token) {
|
||||
const setCookie = responseHeaders["set-cookie"] || []
|
||||
if (!token) token = crypto.randomBytes(18).toString("base64").replace(/\W/g, "_")
|
||||
setCookie.push(`token=${token}; Path=/; Max-Age=2147483648; HttpOnly; SameSite=Lax`)
|
||||
responseHeaders["set-cookie"] = setCookie
|
||||
return responseHeaders
|
||||
}
|
||||
|
||||
class User {
|
||||
constructor(token) {
|
||||
this.token = token
|
||||
|
|
@ -107,6 +112,7 @@ cleanCSRF()
|
|||
setInterval(cleanCSRF, constants.caching.csrf_time).unref()
|
||||
|
||||
module.exports.getToken = getToken
|
||||
module.exports.setToken = setToken
|
||||
module.exports.generateCSRF = generateCSRF
|
||||
module.exports.checkCSRF = checkCSRF
|
||||
module.exports.getUser = getUser
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue