Skip to content

Expoing Ory Permission Language as a library #1774

@mitar

Description

@mitar

Preflight checklist

Ory Network Project

No response

Describe your problem

I am looking at various languages to describe permissions which I could use in my own Go project. I found Ory Permission Language and I was intrigued by it and was thinking that I could maybe use it instead of casbin to embed into my project a way to have permissions configurable.

Describe your ideal solution

Keto would expose Ory Permission Language as a Go module one could use to parse the specification and then run them against a list of stored permissions to check if a subject has permission to do an action on an object. So all storage and everything else would be abstracted away, only engine to execution the specification for check queries.

Workarounds or alternatives

I could use casbin, but I find its language complicated. On the other hand, I want to have an embedded solution inside my own program and not an external service like Keto, because I would like to update permissions inside one database transaction together with the rest of my data and do not want to deal with complexities of having external data store which I have to assure consistency.

Version

none

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    featNew feature or request.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions