Connection: via IPv4
Your IP : 3.133.141.6
In English
Categories: Server

[メモ]JellyfinでEntraID認証

概要

メディアサーバーのJellyfinでEntraID(AzureAD)を使ったSSOを設定するメモ

JellyfinはEmbyの派生でWebやDLNAからサーバー上のメディアファイルを閲覧できる。

jellyfin-plugin-sso

jellyfinでSSO(SAML/OIDC)できるプラグイン

  1. Jellyfinを設定する
  2. jellyfin-plugin-sso/README.md at main · 9p4/jellyfin-plugin-sso (github.com) に従ってJellyfin SSO Pluginを入れる
  3. PROVIDER_NAMEを決める
    1. 英数字のみ(例: entraid)
  4. Azureで認証用アプリの設定をする
    1. Microsoft Azureのアプリ登録を行う
    2. アプリケーション (クライアント) ID、ディレクトリ (テナント) IDを控える
    3. 認証->プラットフォームを追加でWebを追加し、リダイレクト先として`https://<your domain>/sso/OID/redirect/PROVIDER_NAME`を追加する
    4. 証明書とシークレット->クライアントシークレットからシークレットを作成し、値を控える
      • ※有効期限は最大24ヶ月なので切れる前に交換する
      • ※別のページに行くと値はマスクされるので控え忘れた場合は作り直す
  5. ダッシュボード->プラグイン->SSO-AuthからEntraIDの設定を追加する。
    1. 4で控えた値を埋める
      • Name of OID Provider:  PROVIDER_NAME
      • OID Endpoint: https://login.microsoftonline.com/<ディレクトリ (テナント) ID>/v2.0
        • 例: https://login.microsoftonline.com/01234567-89ab-cdef-0123-456789abcdef/v2.0
        • ※Azure上のアプリケーションのエンドポイントリストでOpenID Endpointはテナント共通のhttps://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configurationと記載されているが、今回の場合依存ライブラリの都合でorganizationsをテナントIDに置き換える必要がある
      • OpenID Client ID:  アプリケーション (クライアント) ID
      • OID Secret: クライアントシークレットの値
    2. 必要な設定をする
      • Enabled チェックを入れる
      • Enable Authorization by Plugin SSOでのアカウント登録を有効にするときチェックを入れる
        • 7で手動紐付けをやる場合はチェックを入れない
      • (任意) Enable All Folders/Enabled Folders/その他Enable ~ アクセスを与えたい範囲にチェックを入れる
      • (重要) Do Not Validate OpenID Endpoints (Insecure) チェックを入れる
        • ※ チェックを入れないと認証系(login.microsoftonline.com)とユーザー情報エンドポイントのMicrosoft Graph API(graph.microsoft.com)のドメインが違うことでInvalid扱いになり進まない
    3. 入力イメージ
  6. jellyfin-plugin-sso/README.md at main · 9p4/jellyfin-plugin-sso (github.com) に従ってログイン免責事項とカスタムCSSにSSOログインボタンを入力する
    • action=”/sso/OID/start/PROVIDER_NAME” のように相対パスに書き換えると勝手が良いかもしれない
  7. (オプション) アカウントを紐付ける
    1. 紐付けるアカウントでログインする
    2. https://<your domain>/SSOViews/linking を開く
    3. +ボタンからSSOアカウントと紐付ける

余談

特にはまったのは5.aのOID Endpointと5.bのDo Not Validate OpenID Endpoints (Insecure)
当初うまく動かずauthentik経由で認証するように構成していたがエラーログを眺めていたらひらめいたのでチャレンジしたところうまくいった

This post was last modified on 2024年4月6日 12:29 PM

Share
Published by
おきん(blog)

Recent Posts

MastodonでhCaptchaを使う

概要 Mastodonサーバー…

2か月 ago

Redisを6.0から7.xに更新する

概要 Ubuntu 22.04…

3か月 ago

CodiMDでEntra IDを使う

出来ること CodiMDのログ…

3か月 ago

CloudflareをDDNSみたいに使う

やりたいこと Cloudfla…

3か月 ago

災害時等の各種サービス提供について

災害時等に備えた取り組みやサー…

4か月 ago

This website uses cookies.