我已经阅读了ORY Kratos的文档,它当然适合我们对用户的要求,但是我们有第三方应用程序也使用我们的API。
我应该使用哪种ORY解决方案来解决这一问题,以及如何与Kratos一起使用它?
发布于 2021-11-22 07:31:33
请让我详细说明Matt Mc的答案:
根据这里的官方文档:
https://www.ory.sh/hydra/docs/
Hydra实现了OAuth和OpenID连接标准,而不强制您使用"Hydra用户管理“(登录、注销、配置文件管理、注册)、特定的模板引擎或预定义的前端。这允许您在技术堆栈中使用用例所需的身份验证机制(基于令牌的2FA、SMS 2FA等)实现用户管理和登录方式。
这意味着我们可以使用任何用户管理系统,而Kratos是其中的一个选择。
Hydra负责颁发访问令牌、刷新令牌等。第三方应用程序可以向Hydra注册自己,并将向它们发放客户端ID和客户端密钥。
Hydra为此提供了API,但是,您必须自己设计UI。
有关创建客户端的API的更多详细信息,可以在这里找到:
https://www.ory.sh/hydra/docs/reference/api/#operation/createOAuth2Client
了解Hydra的最快方法是在这里提供他们的5分钟教程:
https://www.ory.sh/hydra/docs/5min-tutorial
Kratos负责实际存储用户凭据,并在用户登录时检查用户凭据。
我在Go中创建了一个参考实现,它集成了Kratos (v0.8.0-alpha.3)和Hydra (v1.10.6)。
https://github.com/atreya2011/go-kratos-test/tree/hydra
这里还有一个官方的Node.js参考实现,它使用了旧版本的Kratos/Hydra。
https://github.com/ory/kratos-selfservice-ui-node/tree/hydra-integration-2021
您可以使用这两种语言作为起点,在您选择的任何其他语言中实现集成:)
你也可以在这里找到其他有用的社区实现:
发布于 2020-09-17 04:56:05
看起来你会用ORY Hydra。
https://stackoverflow.com/questions/61387653
复制相似问题