这个项目能做什么
Hanko 是一个开源的身份验证和用户管理解决方案,旨在易于集成、框架无关,并基于数据极简主义和抗钓鱼等隐私优先原则构建。该项目将自己定位为 Auth0、Clerk、WorkOS 和 Stych 等托管身份服务的开源替代品。
身份验证方法和功能
根据 README,Hanko 支持电子邮件和用户名标识符、密码、通行码和通行密钥、OAuth 社交登录(Apple、Google、GitHub 等)、SAML 企业 SSO、自定义 OIDC/OAuth 连接、通过 TOTP 和安全密钥的 MFA、带远程会话撤销的服务器端会话、Webhooks 以及带自定义翻译的国际化。配置灵活,包括仅通行密钥和仅 OAuth 设置,以及用户可删除的密码。组织、角色和权限被列为进行中,还有 hanko-menu Web 组件和适用于 iOS、Android、React Native 和 Flutter 的移动/原生 SDK。
架构
该仓库围绕三个主要构建块组织。后端被描述为一个可扩展、轻量级的身份验证 API,处理密码、通行密钥、电子邮件通行码、OAuth SSO、用户和会话管理以及 JWT 签发。Hanko Elements 是为该 API 构建的 Web 组件,提供可自定义 CSS 的入门、登录和用户配置文件功能。hanko-frontend-sdk 是用于 Hanko API 的客户端包,构成 Web 组件的基础。仓库还包含一个快速入门参考应用程序、框架示例实现和文档(现已移至单独仓库)。
入门
用户可以尝试托管的实时示例和配套的 passkeys.io 网站,或在本地运行快速入门应用。文档记录了两种本地选项:直接使用后端的裸机设置,或通过快速入门 Docker Compose 配置使用 Docker,该配置同时启动前端和后端组件。compose 文件可以精简为仅运行后端服务,配置通过 config.yaml 调整。对于自定义前端,可以直接使用前端 SDK 对接后端 API。
社区和许可
问题、错误报告和功能请求通过 GitHub 讨论和问题处理,并有 Discord 社区和 X 账号提供更新。许可分为两部分:hanko-elements 和 hanko-frontend-sdk 采用 MIT 许可,而仓库的其余部分(包括后端)采用 AGPL-3.0,可应要求提供非 copyleft 商业许可。
评论
0 评分人数达到10人后显示
登录后参与讨论。