fix: create a subsonic token on login, to use for subsonic API calls

This commit is contained in:
Deluan
2020-02-06 20:37:31 -05:00
parent 8673533cd4
commit 99361c0d9f
4 changed files with 42 additions and 10 deletions
+13
View File
@@ -1,4 +1,5 @@
import jwtDecode from 'jwt-decode'
import md5 from 'md5-hex'
const authProvider = {
login: ({ username, password }) => {
@@ -27,6 +28,12 @@ const authProvider = {
localStorage.setItem('name', response.name)
localStorage.setItem('username', response.username)
localStorage.setItem('role', response.isAdmin ? 'admin' : 'regular')
const salt = new Date().getTime().toString()
localStorage.setItem('subsonic-salt', salt)
localStorage.setItem(
'subsonic-token',
generateSubsonicToken(password, salt)
)
return response
})
.catch((error) => {
@@ -73,6 +80,12 @@ const removeItems = () => {
localStorage.removeItem('username')
localStorage.removeItem('role')
localStorage.removeItem('version')
localStorage.removeItem('subsonic-salt')
localStorage.removeItem('subsonic-token')
}
const generateSubsonicToken = (password, salt) => {
return md5(password + salt)
}
export default authProvider