Repolode
sebadob

sebadob/rauthy

基于 Rust 编写的轻量级身份提供商,通过 OpenID Connect、OAuth 2 和 PAM 实现单点登录,重点支持 Passkey。

可替代:Okta

Star
1,431
Fork
158
未关闭 Issue
34
最近提交
昨天

这是什么?

Rauthy 是一个身份提供商,通过 OpenID Connect 和 OAuth 2 提供单点登录,并可借助自研的 PAM 与 NSS 模块管理 Linux 主机的登录。默认配置偏向安全,例如新建 OIDC 客户端时默认使用 ed25519 签名并强制 S256 PKCE,同时保留大量可调选项。

项目使用 Rust 编写,目标是占用更少的内存和资源,据项目介绍可以在树莓派上运行。默认使用内嵌的 Hiqlite 数据库,也可以改用 PostgreSQL。Passkey 与 WebAuthn 登录流程(包括无密码账户)是其设计重点。

此外,它还提供管理后台、用户自助账户面板、按客户端定制的登录页外观、通过邮件、Matrix 或 Slack 发送的事件告警、暴力破解防护,以及适用于无头设备的设备授权流程。

核心功能

  • 01完整的 OpenID Connect 与 OAuth 2 提供方,支持登出和动态客户端注册
  • 02Passkey 与 WebAuthn 登录,支持纯 Passkey 无密码账户
  • 03可选用内嵌 Hiqlite 或 PostgreSQL 作为数据库
  • 04提供管理后台与用户自助账户面板
  • 05暴力破解与撞库防护,支持 IP 黑名单
  • 06为下游客户端提供 SCIM v2 支持

适用场景

  • 为自托管的 Web 应用提供统一的 SSO 登录
  • 在树莓派等低功耗设备上运行身份提供商
  • 通过 device code 流程为无头设备和 IoT 客户端做身份认证
  • 通过集中管理的用户和用户组统一 SSH 与本地 Linux 登录

快速上手

  1. 1

    使用 Docker 以测试模式在本地启动 Rauthy

    docker run -it --rm -e LOCAL_TEST=true -p 8443:8443 ghcr.io/sebadob/rauthy:0.37.2
  2. 2

    在浏览器中打开本地 HTTPS 地址(需手动添加 https://)

使用前须知

  • 本地测试模式仅适用于 localhost,且加载的是不安全的演示配置;其他场景需要正确的配置。
  • 使用自签名 TLS 证书时,Firefox 可能无法注册通行密钥,需要信任生成的 CA 证书。
  • 安全审计发现的问题已在 v0.32.1 中修复,使用前请确认当前版本。

收录于专题

标签

常见问题

rauthy 是什么?
基于 Rust 编写的轻量级身份提供商,通过 OpenID Connect、OAuth 2 和 PAM 实现单点登录,重点支持 Passkey。 Rauthy 是一个身份提供商,通过 OpenID Connect 和 OAuth 2 提供单点登录,并可借助自研的 PAM 与 NSS 模块管理 Linux 主机的登录。默认配置偏向安全,例如新建 OIDC 客户端时默认使用 ed25519 签名并强制 S256 PKCE,同时保留大量可调选项。
rauthy 可以免费使用吗?用的什么许可证?
rauthy 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
rauthy 还在维护吗?
活跃维护中。rauthy 最近一次提交是在 2026年11月6日。
rauthy 适合用来做什么?
为自托管的 Web 应用提供统一的 SSO 登录 在树莓派等低功耗设备上运行身份提供商 通过 device code 流程为无头设备和 IoT 客户端做身份认证 通过集中管理的用户和用户组统一 SSH 与本地 Linux 登录
rauthy 怎么安装和运行?
使用 Docker 以测试模式在本地启动 Rauthy: docker run -it --rm -e LOCAL_TEST=true -p 8443:8443 ghcr.io/sebadob/rauthy:0.37.2 在浏览器中打开本地 HTTPS 地址(需手动添加 https://)
在哪里获取 rauthy?
源代码和安装说明在 GitHub 上:https://github.com/sebadob/rauthy

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目