nikarh / jellyfin-plugin-authelia

Use Authelia as an authorization and authentication backend for Jellyfin
MIT License
36 stars 3 forks source link
authelia authentication authorization jellyfin jellyfin-plugin single-sign-on sso

Authelia plugin for Jellyfin

License GitHub Actions Build Status Current Release Release RSS Feed Main Commits RSS Feed

A plugin for Jellyfin that allows the use of Authelia as an authentication and authorization backend.

Description

Unlike the SSO plugin, this plugin uses Authelia HTTP API. The benefit of that approach is a native Jellyfin form and API for authentication. This means that any existing Jellyfin client should work with this plugin. The main drawback of this approach is that only username+password authentication is supported (no 2FA).

The plugin will automatically create a new Jellyfin user upon successful authentication. Any valid Authelia user can log in to Jellyfin.

Usage

  1. Add https://raw.githubusercontent.com/nikarh/jellyfin-plugin-authelia/main/manifest.json as a new Jellyfin plugin repository
  2. Install the Authelia Authentication plugin from the catalog
  3. Configure the plugin by entering the URL of your Authelia server (can be either private or public), and a URL of your Jellyfin installation used in the Authelia configuration.yml rule.

Authelia configuration

This plugin uses /api/authz/auth-request endpoint for authentication. If your Authelia configuration.yml file contains server.endpoints.authz section it overrides the defaults, so you must explicitly enable auth-request endpoints:

server:
    endpoints:
        authz:
            auth-request:
                implementation: 'AuthRequest'

License

All files in this repository excluding the Authelia logo are licensed under an MIT license.

The Authelia logo in this repository is a modified version of the Authelia title logo with added paddings and a background, rasterized as a PNG, and is licensed under the Apache 2.0 license (see Authelia branding guide).