Project Icon

jackson

简化企业级单点登录和目录同步

SAML Jackson是一个开源项目,致力于简化企业级身份认证和用户管理。它巧妙地将SAML协议与现代的OAuth 2.0和OpenID Connect标准连接,有效降低了开发难度。通过集成SCIM 2.0协议,SAML Jackson还提供了强大的目录同步能力,支持自动化的用户和群组管理。项目设计灵活,可作为独立服务运行或嵌入到应用中,满足不同场景的需求。

SAML Jackson:开源企业级单点登录和目录同步

OpenSSF 最佳实践徽章 NPM 下载量徽章 Docker 拉取统计徽章 Apache 2.0 许可证徽章 Github 未解决问题徽章 Github 星标数 Node.js 版本支持徽章 Swagger 验证器徽章

SAML Jackson 将 SAML 登录流程桥接或代理到 OAuth 2.0 或 OpenID Connect,抽象出 SAML 协议的所有复杂性。它还通过 SCIM 2.0 协议支持目录同步,实现自动用户和群组配置/取消配置。

我们现在也支持 OpenID Connect 提供商。

一个无声的管理门户快速演示,展示了预期功能概览。它展示了单点登录、设置单点登录连接、设置链接、目录同步等功能

目录同步

SAML Jackson 还基于 SCIM 2.0 协议支持目录同步。

目录同步帮助组织自动化用户配置和取消配置。因此,它通过节省宝贵的组织时间、创建用户身份数据的单一真实来源,并帮助保持数据安全,简化了用户生命周期管理过程。

完整文档请访问 boxyhq.com/docs/directory-sync/overview

🌟 为什么要为此仓库加星?

如果您觉得这个项目有帮助,请考虑通过为该仓库加星并与他人分享来支持我们。这有助于其他人发现该项目、发展社区并确保项目的长期健康。🙏

🚀 SAML Jackson 入门

有两种方式将 SAML Jackson 集成到应用程序中。根据您的用例,您可以选择其中之一。

  1. 作为独立服务Next.js 应用程序)这包括一个内置的管理门户,用于管理单点登录和目录同步连接。
  2. NPM 库作为嵌入在应用程序中的库。

尝试演示

  • 这里尝试我们的托管演示,展示 SAML 服务提供商 (SP) 发起的登录流程,它使用我们的 Mock SAML IdP 服务。
  • 这里尝试身份提供商 (IdP) 发起的登录流程。

在本地部署 SAML Jackson 作为独立服务

让我们快速开始使用 SAML Jackson。

先决条件

通常使用版本管理器如 nvm 或 Windows 上的 nvs 来安装和维护 Node.js 版本是个好主意。更多信息可在此处获取

克隆仓库

git clone https://github.com/boxyhq/jackson.git
cd jackson

安装依赖

npm i

设置环境变量

在项目根目录中从现有的 .env.example 文件创建一个 .env 文件。

cp .env.example .env

环境变量文档: 查看 https://boxyhq.com/docs/jackson/deploy/env-variables 了解所有可用的环境变量。

数据库

对于剩余的设置,我们将使用 PostgreSQL 数据库。在 macOS 上运行 PostgreSQL 最简单的方法是使用 Postgres.app。您可以从 https://postgresapp.com/ 下载它。

对于其他操作系统和 MacOS 的替代选项,请参阅 Prisma 网站上的可用文档

启动开发服务器

现在我们的数据库已经运行,我们可以启动开发服务器了。但在此之前,我们需要一种登录管理门户的方法。

要登录管理门户,我们需要配置魔术链接,或启用用户名和密码登录。最简单的方法,也是我们将使用的方法,是启用用户名和密码登录。

在您的 .env 中找到 NEXTAUTH_ADMIN_CREDENTIALS 环境变量。我们需要提供一个 email:password 组合,然后可以用它登录管理门户。例如:

NEXTAUTH_ADMIN_CREDENTIALS=admin@example.com:password

现在我们可以启动开发服务器:

npm run dev

在浏览器中打开 http://localhost:5225,您应该会被重定向到登录界面。

在登录界面,您现在可以使用在 NEXTAUTH_ADMIN_CREDENTIALS 环境变量中设置的用户名和密码登录。点击"登录",您应该会登录并看到没有配置连接的 SSO 连接页面。我们已经到达 Hello SAML Jackson!

文档

完整文档请访问 boxyhq.com/docs/jackson/overview

简易云部署

使用以下提供商,只需一次点击即可将 SAML Jackson 部署到云端: 使用 Vercel 部署 部署

视频

端到端 (E2E) 测试

创建一个 .env.test.local 文件并填入相应的值。要执行测试,请运行:

npm run test:e2e

关于 BoxyHQ

BoxyHQ - 面向开发者的安全构建模块

BoxyHQ 的使命是通过一次构建一个模块来实现企业级就绪的民主化。我们正在构建一套易于使用和集成到应用程序中的安全构建模块。我们的目标是让企业级就绪对所有开发者、创始人以及负责内部应用程序安全的人员来说都能轻松实现,无论他们的安全专业知识如何。

在 Twitter/X 上关注我们 在 LinkedIn 上与我们联系

社区是我们使命的核心。我们正在建立一个由开发者、安全爱好者和创始人组成的社区,他们对安全和构建安全应用程序充满热情。我们正在公开开发,希望您能加入我们的这次旅程。

今天就加入 Discord 社区。

加入 Discord 社区

安全性和可观察性

可观察性

我们在 OpenTelemetry 的基础上支持一流的可观察性,更多详情请参阅这里

SBOM 报告(软件物料清单)

我们支持 SBOM 报告,更多详情请参阅这里

容器签名和验证

我们支持使用 cosign 进行容器镜像验证,更多详情请参阅这里

🛡️ 报告安全问题

负责任披露

贡献

感谢您对为 SAML Jackson 做出贡献的兴趣!我们很高兴欢迎社区的贡献。请参阅我们的贡献指南以获取更多信息。

💫 支持

在以下任一地方联系维护者:

📌 许可证

Apache 2.0 许可证

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号