【应用安全】OAuth 2.0 and OpenID Connect 提供者 ORY Hydra 介绍
Hydra是一个OAuth 2.0和OpenID连接提供商。换句话说,它是OAuth 2.0授权框架和OpenID Connect Core 1.0框架的实现。因此,它发出OAuth 2.0访问、刷新和ID令牌,使第三方能够以用户的名义访问您的api。
灵活的用户管理
ORY Hydra最大的优点之一是,与其他OAuth 2.0实现不同,它实现了OAuth和OpenID连接标准,而无需强制您使用“Hydra用户管理”(登录、注销、配置文件管理、注册)、特定的模板引擎或预定义的前端。
这允许您在您的技术堆栈中实现用户管理并以您自己的方式进行登录,并使用您的用例(基于标记的2FA、SMS 2FA等)所需的身份验证机制。当然,您可以使用现有的解决方案,如authboss或auth0.com。它为您提供了OAuth 2.0和OpenID连接的所有好处,同时对您的业务逻辑和技术堆栈具有最低限度的侵入性。
密钥存储
除了OAuth 2.0功能之外,ORY Hydra还提供了用于加密密钥(例如用于签署JSON Web令牌)的安全存储,并可以管理OAuth 2.0客户机。
认证
ORY Hydra是OpenID Connect认证(挂起),实现OpenID基金会提出的所有要求。特别是,它正确地实现了IETF和OpenID Foundation指定的各种OAuth 2.0和OpenID连接流。
安全第一
ORY Hydra的体系结构和工作流程旨在中和许多常见(OWASP前十)和不常见的攻击载体。学习更多的知识。
高性能
Hydra具有较低的CPU和内存占用、较短的启动时间,并且可以轻松地在许多平台上伸缩,包括Heroku、Cloud Foundry、Docker、谷歌容器引擎等。
开发友好型。
Hydra适用于所有流行的平台,包括Linux、OSX和Windows。它作为一个单独的二进制文件发布,没有任何附加的依赖性。为了进一步简化,可以使用Docker映像。
Hydra还提供了一个开发人员友好的CLI。
限制
九头蛇也有一些限制:
- Hydra不管理用户帐户,即用户注册、密码重置、用户登录、发送确认邮件等。在Hydra的体系结构中,身份提供者负责此工作。
- Hydra不支持OAuth 2.0资源所有者密码凭据流,因为它是遗留的、不鼓励使用的和不安全的。
九头蛇适合你吗?
OAuth 2.0可以在许多环境中用于各种目的。这个列表可以帮助你决定OAuth 2.0和Hydra是否适合用例:
- 允许第三方解决方案访问您的api:这就是OAuth2提供程序所做的,Hydra是一个完美的选择。
- 像谷歌、Facebook或Microsoft这样的身份提供者:OpenID连接,因此Hydra是一个完美的选择。
- 让您的浏览器、移动或可穿戴应用程序访问您的api:运行OAuth2提供程序可以很好地实现这一点。您不必在设备上存储密码,并且可以随时撤销访问令牌。GMail登录是这样工作的。
- 您希望限制后端服务可以相互读取的信息类型。例如,评论服务应该只允许获取用户配置文件更新,但不应该能够读取用户密码。OAuth 2.0可能对您有意义。
原文:https://www.ory.sh/docs/hydra/
本文:
讨论:请加入知识星球【首席架构师圈】或者飞聊小组【首席架构师智库】
- 172 次浏览