You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
With a postgres backend it's possible to insert a relation-tuple such that certain read operations always fail due to malformed string input when the server encounters a tuple in the database which contains a subject as a subject set with a colon : in the set's object.
After the problem relation-tuple is created it's no longer possible to check, or list relation-tuples that encounter it.
Now, this is described in the limitations page https://www.ory.sh/keto/docs/concepts/subjects and the document does heavily recommend using UUID mappings so this isn't a bug per-se. However, the server will still accept these on insert over gRPC causing a very vague error when attempting any read operation (I was only able to trace this down by looking at Keto's code).
Relation tuples should be validated on insert such that they can be parsed back out of the database. In other words, anything that goes in should be able to come back out.
Describe alternatives you've considered
I've changed my application to not use any of the disallowed characters but this may help those that encounter this in future.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
With a postgres backend it's possible to insert a relation-tuple such that certain read operations always fail due to
malformed string input
when the server encounters a tuple in the database which contains a subject as a subject set with a colon:
in the set's object.After the problem relation-tuple is created it's no longer possible to check, or list relation-tuples that encounter it.
Now, this is described in the limitations page https://www.ory.sh/keto/docs/concepts/subjects and the document does heavily recommend using UUID mappings so this isn't a bug per-se. However, the server will still accept these on insert over gRPC causing a very vague error when attempting any read operation (I was only able to trace this down by looking at Keto's code).
Related code
keto/internal/relationtuple/definitions.go
Line 199 in 0ac4fe1
For example,
Describe the solution you'd like
Relation tuples should be validated on insert such that they can be parsed back out of the database. In other words, anything that goes in should be able to come back out.
Describe alternatives you've considered
I've changed my application to not use any of the disallowed characters but this may help those that encounter this in future.
The text was updated successfully, but these errors were encountered: