mirror of
https://github.com/jeffvli/feishin.git
synced 2024-11-20 06:27:09 +01:00
Fix URL encoding on Subsonic (#850)
* Revert "Encode credential for subsonic stream/coverart (#841)" This reverts commit8ec4551b46
. * Properly URL encode credentials on Subsonic Previous commit (8ec4551b46
) has been reverted, as it has encoded even equal signs (=), and and signs (&), which should not have been encoded. Nextcloud Music has subsequently failed to receive separate username and password and has therefore failed whilst authenticating the user. Example of URL beforehand: https://cloud.example.com/index.php/apps/music/subsonic/rest/stream.view?id=track-4936&v=1.13.0&c=feishin_&u%3Dtest-test%40example.com%26p%3Dpassword Example of URL now: https://cloud.example.com/index.php/apps/music/subsonic/rest/stream.view?id=track-4936&v=1.13.0&c=feishin_&u=test-test%40example.com&p=password
This commit is contained in:
parent
fac1d3fb62
commit
8eb8290fc4
@ -65,7 +65,7 @@ export const SubsonicController: ControllerEndpoint = {
|
|||||||
const cleanServerUrl = `${url.replace(/\/$/, '')}/rest`;
|
const cleanServerUrl = `${url.replace(/\/$/, '')}/rest`;
|
||||||
|
|
||||||
if (body.legacy) {
|
if (body.legacy) {
|
||||||
credential = `u=${body.username}&p=${body.password}`;
|
credential = `u=${encodeURIComponent(body.username)}&p=${encodeURIComponent(body.password)}`;
|
||||||
credentialParams = {
|
credentialParams = {
|
||||||
p: body.password,
|
p: body.password,
|
||||||
u: body.username,
|
u: body.username,
|
||||||
@ -73,7 +73,7 @@ export const SubsonicController: ControllerEndpoint = {
|
|||||||
} else {
|
} else {
|
||||||
const salt = randomString(12);
|
const salt = randomString(12);
|
||||||
const hash = md5(body.password + salt);
|
const hash = md5(body.password + salt);
|
||||||
credential = `u=${body.username}&s=${salt}&t=${hash}`;
|
credential = `u=${encodeURIComponent(body.username)}&s=${encodeURIComponent(salt)}&t=${encodeURIComponent(hash)}`;
|
||||||
credentialParams = {
|
credentialParams = {
|
||||||
s: salt,
|
s: salt,
|
||||||
t: hash,
|
t: hash,
|
||||||
|
@ -24,15 +24,14 @@ const getCoverArtUrl = (args: {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const url =
|
return (
|
||||||
`${args.baseUrl}/rest/getCoverArt.view` +
|
`${args.baseUrl}/rest/getCoverArt.view` +
|
||||||
`?id=${args.coverArtId}` +
|
`?id=${args.coverArtId}` +
|
||||||
`&${encodeURIComponent(args.credential || '')}` +
|
`&${args.credential}` +
|
||||||
'&v=1.13.0' +
|
'&v=1.13.0' +
|
||||||
'&c=feishin' +
|
'&c=feishin' +
|
||||||
`&size=${size}`;
|
`&size=${size}`
|
||||||
|
);
|
||||||
return url;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const normalizeSong = (
|
const normalizeSong = (
|
||||||
@ -49,7 +48,7 @@ const normalizeSong = (
|
|||||||
size: size || 300,
|
size: size || 300,
|
||||||
}) || null;
|
}) || null;
|
||||||
|
|
||||||
const streamUrl = `${server?.url}/rest/stream.view?id=${item.id}&v=1.13.0&c=feishin_${deviceId}&${encodeURIComponent(server?.credential || '')}`;
|
const streamUrl = `${server?.url}/rest/stream.view?id=${item.id}&v=1.13.0&c=feishin_${deviceId}&${server?.credential}`;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
album: item.album || '',
|
album: item.album || '',
|
||||||
|
Loading…
Reference in New Issue
Block a user