Skip to content

Conversation

nielsvanvelzen
Copy link
Member

@nielsvanvelzen nielsvanvelzen commented Dec 31, 2024

Changes

Adds a new EnableLegacyAuthorization configuration option to system.xml. It defaults to true (keep legacy methods working) but we will add a migration to change it to false in the future before entirely removing the old authorization methods.

For now the option can be used by (client-)developers to find network requests using a wrong authorization method.

The only method we'll allow is the Authorization header with MediaBrowser scheme and the ApiKey query parameter. The other headers (X-Emby-Authorization, X-Emby-Token, X-MediaBrowser-Token), query parameter (api_key) and authorization scheme (Emby) are all deprecated.

We've warned for these changes for almost 2 years using this gist we share almost weekly to people developing for Jellyfin.

Note: It is currently not possible to use jellyfin-web without legacy authorization (unable to sign in due to this line in the archived JS apiclient).

Issues

Copy link

github-actions bot commented Dec 31, 2024

Changes in OpenAPI specification found. Expand to see details.

What's Changed


GET /System/Configuration
Return Type:

Changed response : 200 OK

Application configuration returned.

  • Changed content type : application/json

    • Added property EnableLegacyAuthorization (boolean)

      Gets or sets a value indicating whether old authorization methods are allowed.

  • Changed content type : application/json; profile="CamelCase"

    • Added property EnableLegacyAuthorization (boolean)

      Gets or sets a value indicating whether old authorization methods are allowed.

  • Changed content type : application/json; profile="PascalCase"

    • Added property EnableLegacyAuthorization (boolean)

      Gets or sets a value indicating whether old authorization methods are allowed.

POST /System/Configuration
Request:

Changed content type : application/json

Updated ServerConfiguration :

  • Added property EnableLegacyAuthorization (boolean)

    Gets or sets a value indicating whether old authorization methods are allowed.

Changed content type : text/json

Updated ServerConfiguration :

  • Added property EnableLegacyAuthorization (boolean)

    Gets or sets a value indicating whether old authorization methods are allowed.

Changed content type : application/*+json

Updated ServerConfiguration :

  • Added property EnableLegacyAuthorization (boolean)

    Gets or sets a value indicating whether old authorization methods are allowed.

@crobibero crobibero added the blocked Blocked by another pull request label Jan 11, 2025
@crobibero
Copy link
Member

crobibero commented Jan 11, 2025

Marking as blocked until the web client moves from the legacy auth

jk it defaults to true

@crobibero crobibero removed the blocked Blocked by another pull request label Jan 11, 2025
@crobibero crobibero merged commit fd3057b into jellyfin:master Jan 11, 2025
21 checks passed
@nielsvanvelzen nielsvanvelzen deleted the rip-legacy-auth branch January 11, 2025 17:31
Lampan-git pushed a commit to Lampan-git/jellyfin that referenced this pull request Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants