标签: ory

Oauth2 与 ORY Hydra 或 ORY Kratos

我有一个项目需要实现 Oauth2(用户需要能够使用 Google 或 iCloud 登录),我决定使用 ORY Hydra,这样我就不必编写自己的 Oauth2 实现。

我尝试自己解决 ORY Hydra,但失败了。我知道 Oauth2 在抽象方面是如何工作的,但我不知道如何在实践中用它来实现 Oauth2。SDK 没有文档,无论它们适用于哪种语言。我知道 Hydra 有一个 HTTP API,所以语言 SDK 并不重要,但我希望在他们的文档中找到一些指导;正如我所写,他们没有。而主文档的“5分钟教程”只是提供了一些docker容器,背后没有任何代码或逻辑,只是一些docker-compose命令。

有什么好的教育资源可以展示如何使用 ORY Hydra 实施 Oauth2?此时,我已准备好使用任何语言,或者直接深入了解 Oauth2 标准。

oauth oauth-2.0 google-oauth ory

7
推荐指数
2
解决办法
6834
查看次数

带有 Ory Keto 的 RBAC 和对象所有权

我试图通过 Ory Keto 实现以下几点:

  1. UserA拥有ProductA-> 所有权赋予一项 CRUD 权利。
  2. UserB具有角色Admin->Admin赋予一个对所有事物的 CRUD 权限。
  3. UserA具有角色KYCVerified或属于名为KYCVerified-> 的组的一部分,这为用户提供了额外的权限。

第 1 点描述了所有权的概念,根据 Ory Keto 的当前状态,将其描述为 RBAC 的缺点之一(来源):

不存在所有权概念:Dan 是文章“Hello World”的作者,因此可以更新它。

第 2 点描述了一个基本上通过了所有权检查的角色,因为这个角色可以做所有事情。这在当前状态下应该是可能的,但不能与第 1 点结合使用。

第 3 点描述的内容与第 2 点基本相同,但这更针对我的用例。

我在Ory网站上读过这篇文章和这篇文章。然而,我仍然无法理解这个概念。我举了以下例子来说明我如何看待 Ory Keto 的所有权概念:

# Tenant TenantA needs to be a owner of product ProductA in order to view it
products:ProductA#view@(tenants:TenantA#owner)

# Tenant A is a owner of ProductA …
Run Code Online (Sandbox Code Playgroud)

authorization rbac ory

1
推荐指数
1
解决办法
1362
查看次数

标签 统计

ory ×2

authorization ×1

google-oauth ×1

oauth ×1

oauth-2.0 ×1

rbac ×1