十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Ory Kratos + Hydra 黄金组合:打造 100% 开源的 OIDC 授权服务器实战

Ory Kratos + Hydra 黄金组合:打造 100% 开源的 OIDC 授权服务器实战 Ory Kratos Hydra 黄金组合打造 100% 开源的 OIDC 授权服务器实战【免费下载链接】kratosHeadless cloud-native authentication and identity management written in Go. Scales to a billion users. Replace Homegrown, Auth0, Okta, Firebase with better UX and DX. Passkeys, Social Sign In, OIDC, Magic Link, Multi-Factor Auth, SMS, SAML, TOTP, and more. Runs everywhere, runs best on Ory Network.项目地址: https://gitcode.com/gh_mirrors/kr/kratosOry Kratos是一个用 Go 编写的 Headless 云原生身份认证与用户管理系统可与Ory HydraOAuth 2.0 / OIDC 授权服务器组合帮你 100% 开源地替代 Auth0、Okta、Firebase 等商业方案轻松获得 Passkeys、社交登录、TOTP 多因子认证、Magic Link 等能力并支持扩展到十亿级用户。为什么是 Kratos Hydra很多团队自建认证系统时总绕不开两个问题组件负责什么一句话定位Ory Kratos用户身份、注册/登录/恢复流程、多因子认证身份管理 认证AuthenticationOry HydraOAuth 2.0 / OIDC 授权流程、令牌签发授权服务器Authorization简单说Kratos 管你是谁Hydra 管谁获得了授权。两者都开源、都用 Go 编写、都能水平扩展组合起来就是一个功能完整的企业级 OIDC 授权服务器。黄金组合的协作流程整个授权流程非常清晰不需要你手写一行 OAuth2 代码用户从客户端应用发起 OIDC 授权请求请求被路由到 HydraHydra 判断用户未登录生成login_challenge并重定向到Kratos 的登录流程用户在 Kratos 完成认证密码、Passkey、社交登录、TOTP 均可Kratos 调用 Hydra 的管理 API 接受登录请求Kratos 侧的封装实现位于 hydra/hydra.go核心逻辑就两个方法获取登录请求GetLoginRequest与接受登录AcceptLoginRequestHydra 签发 OIDC ID Token / Access Token客户端拿到令牌完成授权闭环。Kratos 通过oauth2_provider.url配置项感知 Hydra 的地址配置项定义见 driver/config/config.go完整配置结构可参考 embedx/config.schema.json。一键部署最快本地跑起来项目内置了 Docker Compose 快速启动文件克隆仓库即可体验git clone https://gitcode.com/gh_mirrors/kr/kratos cd kratos docker compose -f quickstart.yml up启动后你会得到Kratos 公共端点http://127.0.0.1:4433/Kratos 管理端点http://127.0.0.1:4434/本地邮件捕获服务 Mailslurper用于验证邮件/魔法链接编排文件 quickstart.yml 中包含了数据库迁移、Kratos 主服务与预置自服务 UI 三个服务开箱即用。关键配置让 Kratos 对接 Hydra生产环境只需一段极简配置即可打通参考仓库中 E2E 测试使用的 OIDC Provider 配置 test/e2e/profiles/oidc-provider/.kratos.ymloauth2_provider: url: http://localhost:4745如果想让用户用GitHub / Google 社交账号登录Kratos 作为 OIDC 客户端反向接入可以启用selfservice.methods.oidc仓库提供了一个现成的 GitHub 声明映射模板 contrib/quickstart/kratos/oidc/oidc.github.jsonnet它只映射已验证的邮箱从源头规避账户枚举攻击。而支持密码 Passkey WebAuthn 全策略的完整配置样例可直接阅读 contrib/quickstart/kratos/all-strategies/kratos.yml。这套组合能替代什么Auth0 / Okta全部核心能力OIDC、MFA、社交登录均可自托管数据完全掌握在自己手里Firebase Auth迁移成本更低Kratos 提供标准 REST API 与 client-go SDK自研认证系统不再需要自己处理 CSRF、Cookie 安全、验证码生成等脏活Kratos 全部内置。总结想拥有100% 开源的 OIDC 授权服务器Kratos Hydra 是社区验证过的黄金组合认证与授权职责分离架构清晰、易于水平扩展一份quickstart.yml即可在本地 1 分钟内跑通全链路配置面极小oauth2_provider.url一个字段完成两服务对接。从本文的配置样例出发把oauth2_provider指向你部署的 Hydra 地址你的开源 OIDC 授权服务器就基本成型了。【免费下载链接】kratosHeadless cloud-native authentication and identity management written in Go. Scales to a billion users. Replace Homegrown, Auth0, Okta, Firebase with better UX and DX. Passkeys, Social Sign In, OIDC, Magic Link, Multi-Factor Auth, SMS, SAML, TOTP, and more. Runs everywhere, runs best on Ory Network.项目地址: https://gitcode.com/gh_mirrors/kr/kratos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表