45 lines
3.9 KiB
JSON
45 lines
3.9 KiB
JSON
[
|
|
{
|
|
"guid": "96badb44-9940-4ff0-befc-5f987159152c",
|
|
"name": "OIDC Auth",
|
|
"description": "Adds OpenID Connect (OIDC) single sign-on to Jellyfin. Supports any spec-compliant provider (Authelia, Authentik, Keycloak, Pocket ID, Google, ...), automatic user creation, and role based admin/access mapping.",
|
|
"overview": "Log in to Jellyfin with an OpenID Connect provider",
|
|
"owner": "pascallinxweiler",
|
|
"category": "Authentication",
|
|
"versions": [
|
|
{
|
|
"version": "1.0.4.0",
|
|
"changelog": "fix: make the release workflow build and package a real Jellyfin plugin\n\nThe release workflow was copied from another project and could not succeed on\nany tag: it installed the .NET 8 SDK for a net9.0 project, published a\nJellyfinSso.csproj that does not exist, called a missing update_manifest.py,\nand zipped the entire publish tree instead of the three DLLs declared in\nbuild.yaml.\n\nReplace it with a tag-driven release:\n\n- Build with the .NET 9 SDK, injecting the tag version via -p:Version,\n -p:AssemblyVersion and -p:FileVersion so the assembly no longer carries a\n hardcoded 1.0.3.0.\n- Package via scripts/build_plugin.py, which emits the JPRM layout Jellyfin\n expects: the build.yaml artifacts plus a generated meta.json. The previous\n zips shipped without meta.json, which only worked for repository installs\n because Jellyfin synthesises one from the folder name.\n- Update manifest.json via scripts/update_manifest.py, keeping build.yaml as\n the single source of truth for plugin metadata.\n- Commit the zip and manifest to main and attach the zip to the Gitea release.\n Pushing uses the injected token, falling back to a RELEASE_TOKEN secret when\n the built-in one lacks write access.\n\nAlso fix the published download URLs. manifest.json and the README pointed at\npascallinxweiler/jellyfinplugin, which 404s; the repository is jellyfinsso, so\nthe plugin repository could not be added to Jellyfin and no version could be\ndownloaded. The workflow now derives the URL from GITHUB_REPOSITORY.\n\nAdd a build workflow so main and pull requests are compiled and packaged.\n\nCo-Authored-By: Claude <noreply@anthropic.com>",
|
|
"targetAbi": "10.11.0.0",
|
|
"sourceUrl": "https://git.linxweiler.xyz/pascallinxweiler/jellyfinsso/raw/branch/main/dist/oidc-auth_1.0.4.0.zip",
|
|
"checksum": "afcf05fb5d8737273fdc9ca2195853d6",
|
|
"timestamp": "2026-07-29T13:26:22Z"
|
|
},
|
|
{
|
|
"version": "1.0.3.0",
|
|
"changelog": "Admin role mapping now only grants admin by default. New opt-in setting 'Also revoke admin when the admin role is missing' restores the old revoking behavior.",
|
|
"targetAbi": "10.11.0.0",
|
|
"sourceUrl": "https://git.linxweiler.xyz/pascallinxweiler/jellyfinsso/raw/branch/main/dist/oidc-auth_1.0.3.0.zip",
|
|
"checksum": "8e1435d2d4a1587797f9c0af53f6fca2",
|
|
"timestamp": "2026-07-13T13:00:00Z"
|
|
},
|
|
{
|
|
"version": "1.0.2.0",
|
|
"changelog": "Log OIDC claims and admin mapping decisions; role comparison is now case-insensitive.",
|
|
"targetAbi": "10.11.0.0",
|
|
"sourceUrl": "https://git.linxweiler.xyz/pascallinxweiler/jellyfinsso/raw/branch/main/dist/oidc-auth_1.0.2.0.zip",
|
|
"checksum": "343bcda662a3cdd1e36391222391d2d5",
|
|
"timestamp": "2026-07-13T12:30:00Z"
|
|
},
|
|
{
|
|
"version": "1.0.1.0",
|
|
"changelog": "Rebuilt for Jellyfin 10.11 (net9.0).",
|
|
"targetAbi": "10.11.0.0",
|
|
"sourceUrl": "https://git.linxweiler.xyz/pascallinxweiler/jellyfinsso/raw/branch/main/dist/oidc-auth_1.0.1.0.zip",
|
|
"checksum": "8095740b87cf862ad41bc50ccbdb7443",
|
|
"timestamp": "2026-07-13T12:00:00Z"
|
|
}
|
|
]
|
|
}
|
|
]
|