Jellyfin SSO 插件:简化登录,提升用户体验

Jellyfin SSO 插件:简化登录,提升用户体验

jellyfin-plugin-sso This plugin allows users to sign in through an SSO provider (such as Google, Microsoft, or your own provider). This enables one-click signin. jellyfin-plugin-sso 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-sso

项目介绍

Jellyfin SSO 插件 是一个为 Jellyfin 媒体服务器设计的单点登录(SSO)插件。通过该插件,用户可以使用 Google、Microsoft 等第三方 SSO 提供商进行一键登录,极大地简化了登录流程,提升了用户体验。此外,现有用户还可以通过自助服务链接或移除 SSO 账户,增强了账户管理的灵活性。

项目技术分析

Jellyfin SSO 插件基于 C# 开发,支持 OpenID 和 SAML 两种协议,能够与多种 SSO 提供商(如 Authelia、authentik、Keycloak 等)无缝集成。插件的核心功能包括:

  • 一键登录:用户可以通过 SSO 提供商快速登录 Jellyfin。
  • 自助服务:用户可以自行管理 SSO 账户的链接和移除。
  • API 配置:管理员可以通过 API 进行插件配置,增加了灵活性和自动化能力。

项目及技术应用场景

Jellyfin SSO 插件适用于以下场景:

  • 家庭媒体中心:家庭成员可以通过 Google 或 Microsoft 账户快速登录,无需记忆多个账户密码。
  • 企业内部媒体服务:企业可以使用 Keycloak 等企业级 SSO 解决方案,统一管理员工对 Jellyfin 的访问权限。
  • 教育机构:学校可以通过 SSO 插件,让学生和教职工使用统一的账户登录 Jellyfin,方便管理和使用。

项目特点

  • 一键登录:简化用户登录流程,提升用户体验。
  • 多协议支持:支持 OpenID 和 SAML 协议,兼容多种 SSO 提供商。
  • 自助服务:用户可以自行管理 SSO 账户,增强了账户管理的灵活性。
  • API 配置:管理员可以通过 API 进行插件配置,增加了灵活性和自动化能力。
  • 安全性:插件通过证书或内部状态验证所有客户端传递的信息,确保安全性。

安装与使用

安装步骤

  1. 添加插件仓库:https://raw.githubusercontent.com/9p4/jellyfin-plugin-sso/manifest-release/manifest.json
  2. 从 Jellyfin 插件目录中安装插件。

配置示例

创建登录按钮

在 Jellyfin 管理界面中,进入“General” -> “Branding”,在“Login disclaimer”中添加以下代码:

<form action="https://jellyfin.example.com/sso/OID/start/PROVIDER_NAME">
  <button class="raised block emby-button button-submit">
    Sign in with SSO
  </button>
</form>

在“Custom CSS code”中添加以下代码:

a.raised.emby-button {
  padding: 0.9em 1em;
  color: inherit !important;
}

.disclaimerContainer {
  display: block;
}
SAML 配置示例

使用 curl 通过 API 添加 SAML 配置:

curl -v -X POST -H "Content-Type: application/json" -d '{"samlEndpoint": "https://keycloak.example.com/realms/test/protocol/saml", "samlClientId": "jellyfin-saml", "samlCertificate": "Very long base64 encoded string here", "enabled": true, "enableAuthorization": true, "enableAllFolders": false, "enabledFolders": [], "adminRoles": ["jellyfin-admin"], "roles": ["allowed-to-use-jellyfin"], "enableFolderRoles": true, "folderRoleMapping": [{"role": "allowed-to-watch-movies", "folders": ["cc7df17e2f3509a4b5fc1d1ff0a6c4d0", "f137a2dd21bbc1b99aa5c0f6bf02a805"]}]}' "https://myjellyfin.example.com/sso/SAML/Add/PROVIDER_NAME?api_key=API_KEY_HERE"
OpenID 配置示例

使用 curl 通过 API 添加 OpenID 配置:

curl -v -X POST -H "Content-Type: application/json" -d '{"oidEndpoint": "https://keycloak.example.com/realms/test", "oidClientId": "jellyfin-oid", "oidSecret": "short secret here", "enabled": true, "enableAuthorization": true, "enableAllFolders": false, "enabledFolders": [], "adminRoles": ["jellyfin-admin"], "roles": ["allowed-to-use-jellyfin"], "enableFolderRoles": true, "folderRoleMapping": [{"role": "allowed-to-watch-movies", "folders": ["cc7df17e2f3509a4b5fc1d1ff0a6c4d0", "f137a2dd21bbc1b99aa5c0f6bf02a805"]}], "roleClaim": "realm_access", "oidScopes" : [""]}' "https://myjellyfin.example.com/sso/OID/Add/PROVIDER_NAME?api_key=API_KEY_HERE"

结语

Jellyfin SSO 插件通过简化登录流程和增强账户管理功能,为用户提供了更加便捷和安全的媒体服务体验。无论是在家庭、企业还是教育机构中,Jellyfin SSO 插件都能发挥其独特的优势,提升用户体验和管理效率。赶快尝试一下吧!

jellyfin-plugin-sso This plugin allows users to sign in through an SSO provider (such as Google, Microsoft, or your own provider). This enables one-click signin. jellyfin-plugin-sso 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-sso

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劳允椒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值