diff --git a/src/renderer/api/jellyfin/jellyfin-api.ts b/src/renderer/api/jellyfin/jellyfin-api.ts index c824b9fa..8e523781 100644 --- a/src/renderer/api/jellyfin/jellyfin-api.ts +++ b/src/renderer/api/jellyfin/jellyfin-api.ts @@ -22,7 +22,7 @@ export const contract = c.router({ authenticate: { body: jfType._parameters.authenticate, method: 'POST', - path: 'auth/login', + path: 'users/authenticatebyname', responses: { 200: jfType._response.authenticate, 400: jfType._response.error, diff --git a/src/renderer/api/jellyfin/jellyfin-controller.ts b/src/renderer/api/jellyfin/jellyfin-controller.ts index 27cc7397..250b5344 100644 --- a/src/renderer/api/jellyfin/jellyfin-controller.ts +++ b/src/renderer/api/jellyfin/jellyfin-controller.ts @@ -44,6 +44,7 @@ import { import { jfApiClient } from '/@/renderer/api/jellyfin/jellyfin-api'; import { jfNormalize } from './jellyfin-normalize'; import { jfType } from '/@/renderer/api/jellyfin/jellyfin-types'; +import packageJson from '../../../../package.json'; const formatCommaDelimitedString = (value: string[]) => { return value.join(','); @@ -60,9 +61,12 @@ const authenticate = async ( const res = await jfApiClient({ server: null, url: cleanServerUrl }).authenticate({ body: { - Password: body.password, + Pw: body.password, Username: body.username, }, + headers: { + 'X-Emby-Authorization': `MediaBrowser Client="Feishin", Device="PC", DeviceId="Feishin", Version="${packageJson.version}"`, + }, }); if (res.status !== 200) { diff --git a/src/renderer/api/jellyfin/jellyfin-types.ts b/src/renderer/api/jellyfin/jellyfin-types.ts index f8e9d0cd..a256b6c1 100644 --- a/src/renderer/api/jellyfin/jellyfin-types.ts +++ b/src/renderer/api/jellyfin/jellyfin-types.ts @@ -265,7 +265,7 @@ const user = z.object({ }); const authenticateParameters = z.object({ - Password: z.string(), + Pw: z.string(), Username: z.string(), });