You've already forked filebrowser
mirror of
https://github.com/filebrowser/filebrowser.git
synced 2025-11-26 14:25:26 +08:00
rename _assets to assets
This commit is contained in:
60
assets/src/utils/auth.js
Normal file
60
assets/src/utils/auth.js
Normal file
@@ -0,0 +1,60 @@
|
||||
import cookie from './cookie'
|
||||
import store from '@/store/store'
|
||||
import router from '@/router'
|
||||
|
||||
function parseToken (token) {
|
||||
document.cookie = `auth=${token}; max-age=86400; path=${store.state.baseURL}`
|
||||
let res = token.split('.')
|
||||
let user = JSON.parse(window.atob(res[1]))
|
||||
store.commit('setJWT', token)
|
||||
store.commit('setUser', user)
|
||||
}
|
||||
|
||||
function loggedIn () {
|
||||
return new Promise((resolve, reject) => {
|
||||
let request = new window.XMLHttpRequest()
|
||||
request.open('GET', `${store.state.baseURL}/api/auth/renew`, true)
|
||||
request.setRequestHeader('Authorization', `Bearer ${cookie('auth')}`)
|
||||
|
||||
request.onload = () => {
|
||||
if (request.status === 200) {
|
||||
parseToken(request.responseText)
|
||||
resolve()
|
||||
} else {
|
||||
reject()
|
||||
}
|
||||
}
|
||||
request.onerror = () => reject()
|
||||
request.send()
|
||||
})
|
||||
}
|
||||
|
||||
function login (user, password) {
|
||||
let data = {username: user, password: password}
|
||||
return new Promise((resolve, reject) => {
|
||||
let request = new window.XMLHttpRequest()
|
||||
request.open('POST', `${store.state.baseURL}/api/auth/get`, true)
|
||||
|
||||
request.onload = () => {
|
||||
if (request.status === 200) {
|
||||
parseToken(request.responseText)
|
||||
resolve()
|
||||
} else {
|
||||
reject(request.responseText)
|
||||
}
|
||||
}
|
||||
request.onerror = () => reject()
|
||||
request.send(JSON.stringify(data))
|
||||
})
|
||||
}
|
||||
|
||||
function logout () {
|
||||
document.cookie = `auth='nothing'; max-age=0; path=${store.state.baseURL}`
|
||||
router.push({path: '/login'})
|
||||
}
|
||||
|
||||
export default {
|
||||
loggedIn: loggedIn,
|
||||
login: login,
|
||||
logout: logout
|
||||
}
|
||||
Reference in New Issue
Block a user