https://github.com/nikarh/jellyfin-plugin-authelia
Use Authelia as an authorization and authentication backend for Jellyfin
https://github.com/nikarh/jellyfin-plugin-authelia
authelia authentication authorization jellyfin jellyfin-plugin single-sign-on sso
Last synced: 7 months ago
JSON representation
Use Authelia as an authorization and authentication backend for Jellyfin
- Host: GitHub
- URL: https://github.com/nikarh/jellyfin-plugin-authelia
- Owner: nikarh
- License: mit
- Created: 2022-05-11T16:27:14.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-10T21:59:54.000Z (9 months ago)
- Last Synced: 2025-03-28T04:34:55.727Z (7 months ago)
- Topics: authelia, authentication, authorization, jellyfin, jellyfin-plugin, single-sign-on, sso
- Language: C#
- Homepage:
- Size: 211 KB
- Stars: 43
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Authelia plugin for Jellyfin
[](https://github.com/nikarh/jellyfin-plugin-authelia)
[](https://github.com/nikarh/jellyfin-plugin-authelia/actions/workflows/release.yml)
[](https://github.com/nikarh/jellyfin-plugin-authelia/releases)
[](https://github.com/nikarh/jellyfin-plugin-authelia/releases.atom)
[](https://github.com/nikarh/jellyfin-plugin-authelia/commits/main.atom)
A plugin for Jellyfin that allows the use of [Authelia](https://www.authelia.com/) as an authentication and authorization backend.
## Description
Unlike the [SSO plugin](https://github.com/9p4/jellyfin-plugin-sso), this plugin uses [Authelia HTTP API](https://github.com/authelia/authelia/blob/master/api/openapi.yml).
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](https://www.authelia.com/configuration/miscellaneous/server-endpoints-authz) for authentication.
If your Authelia `configuration.yml` file contains `server.endpoints.authz` section it [overrides](https://github.com/authelia/authelia/blob/eefd06e81b61a113269de3e38ae6ed7d096665ee/internal/configuration/validator/server.go#L122) the [defaults](https://github.com/authelia/authelia/blob/eefd06e81b61a113269de3e38ae6ed7d096665ee/internal/configuration/schema/server.go#L67), so you must explicitly enable `auth-request` endpoints:
```yaml
server:
endpoints:
authz:
auth-request:
implementation: 'AuthRequest'
```
## License
All files in this repository excluding the [Authelia logo](./logo.png) are licensed under an [MIT](./LICENSE) license.
The [Authelia logo](./logo.png) in this repository is a modified version of the [Authelia title logo](https://www.authelia.com/images/branding/title.svg) with added paddings and a background, rasterized as a PNG, and is licensed under the [Apache 2.0](https://github.com/authelia/authelia/blob/master/LICENSE) license (see [Authelia branding guide](https://www.authelia.com/reference/guides/branding/)).