green-oil-88994
07/31/2023, 11:11 AMauthorizers:
allow:
enabled: true
keto_engine_acp_ory:
enabled: true
config:
base_url: "<http://host.docker.internal:4467>"
required_action: "..."
required_resource: "..."
My access rule is:
- id: "ory:keto-admin-api:protected"
upstream:
preserve_host: false
strip_path: "/keto-admin"
url: "<http://host.docker.internal:4467>"
match:
url: "<http://localhost:4455/keto-admin/><**>"
methods:
- GET
- POST
- PUT
- DELETE
- PATCH
authenticators:
-
handler: cookie_session
authorizer:
handler: keto_engine_acp_ory
enabled: true
config:
required_resource: "Role:members:{{ print print .Extra.identity.id }}"
mutators:
- handler: noop # id_token
errors:
- handler: redirect
config:
to: <http://localhost:3000>
My keto.namespaces.ts is:
import {Context, Namespace, SubjectSet} from "@ory/keto-namespace-types"
class User implements Namespace {
related: {
members: User[]
admins: User[]
}
permits = {
modify: (ctx: Context): boolean =>
this.related.admins.includes(ctx.subject),
}
}
class Role implements Namespace {
related: {
members: SubjectSet<User, "members">[]
}
}
class AccessGroup implements Namespace {
related: {
members: SubjectSet<Role, "members">[]
}
permits = {
view: (ctx: Context): boolean =>
this.related.members.includes(ctx.subject),
}
}
I want to check the user to be subject of the namespace "Role" with object "admin".
Can somebody help me?shy-beach-55709
08/03/2023, 7:59 PMgreen-oil-88994
08/10/2023, 2:35 PM