Add Jellyfin OIDC provider, application and RBAC groups #19
@@ -0,0 +1,3 @@
|
|||||||
|
# Permission group akP-jellyfin-admin (name = filename). Grants admin
|
||||||
|
# access to jellyfin: bound to the jellyfin application and mapped to its admin role.
|
||||||
|
application: jellyfin
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
# Permission group akP-jellyfin-user (name = filename). Grants user
|
||||||
|
# access to jellyfin: bound to the jellyfin application and mapped to its user role.
|
||||||
|
application: jellyfin
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# OAuth2/OIDC provider + application for Jellyfin
|
||||||
|
# (jellyfin.k8s.syd1.au.unkin.net), consumed by jellyfin-plugin-sso (OIDC) so
|
||||||
|
# the web UI signs in via Authentik while native clients keep Jellyfin local/API
|
||||||
|
# auth. client_secret is read from Vault, not committed. The plugin requests the
|
||||||
|
# `ak_groups` scope and matches the hierarchical groups claim against
|
||||||
|
# akP-jellyfin-admin / akP-jellyfin-user for its admin/user role mapping, so no
|
||||||
|
# role_mappings claim is needed here. The path segment "authentik" is the SSO
|
||||||
|
# provider name configured in the plugin — it must match on the Jellyfin side.
|
||||||
|
name: Jellyfin
|
||||||
|
authorization_flow: default-provider-authorization-implicit-consent
|
||||||
|
invalidation_flow: default-provider-invalidation-flow
|
||||||
|
client_type: confidential
|
||||||
|
client_id: jellyfin
|
||||||
|
# Explicit dashboard tile launch URL (the Jellyfin web UI).
|
||||||
|
launch_url: https://jellyfin.k8s.syd1.au.unkin.net/
|
||||||
|
client_secret_vault:
|
||||||
|
mount: kv
|
||||||
|
path: kubernetes/namespace/jellyfin/default/oauth-credentials
|
||||||
|
scope_mappings:
|
||||||
|
- goauthentik.io/providers/oauth2/scope-openid
|
||||||
|
- goauthentik.io/providers/oauth2/scope-email
|
||||||
|
- goauthentik.io/providers/oauth2/scope-profile
|
||||||
|
redirect_uris:
|
||||||
|
# jellyfin-plugin-sso OIDC callback (plugin >= 3.5.2).
|
||||||
|
- matching_mode: strict
|
||||||
|
url: https://jellyfin.k8s.syd1.au.unkin.net/sso/OID/redirect/authentik
|
||||||
|
# Legacy plugin callback path, kept so older plugin builds also work.
|
||||||
|
- matching_mode: strict
|
||||||
|
url: https://jellyfin.k8s.syd1.au.unkin.net/sso/OID/r/authentik
|
||||||
@@ -4,6 +4,7 @@ permissions:
|
|||||||
- akP-argocd-admin
|
- akP-argocd-admin
|
||||||
- akP-rancher-admin
|
- akP-rancher-admin
|
||||||
- akP-litellm-admin
|
- akP-litellm-admin
|
||||||
|
- akP-jellyfin-admin
|
||||||
# arrstack has no admin tier (it is a proxy front door); grant global admins
|
# arrstack has no admin tier (it is a proxy front door); grant global admins
|
||||||
# the front door plus every per-app entitlement so they reach all media apps.
|
# the front door plus every per-app entitlement so they reach all media apps.
|
||||||
- akP-arrstack-user
|
- akP-arrstack-user
|
||||||
|
|||||||
@@ -4,3 +4,4 @@ permissions:
|
|||||||
- akP-argocd-user
|
- akP-argocd-user
|
||||||
- akP-rancher-user
|
- akP-rancher-user
|
||||||
- akP-litellm-user
|
- akP-litellm-user
|
||||||
|
- akP-jellyfin-user
|
||||||
|
|||||||
Reference in New Issue
Block a user