tesladodger / authngn

Simple authorization engine for Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Authngn

Stupidly simple authorization engine.

go get -u github.com/tesladodger/authngn

Usage

Register the rules:

ngn := authngn.New()
ngn.Register(User{}, "read,write,delete", Resource{}, func(ent, res any) bool {
    user := ent.(User)
    res := res.(Resource)
    return user.id == resource.owner
})

Assert authorization:

ok := ngn.Authorize(user, "read", resource)

About

Simple authorization engine for Go

License:MIT License


Languages

Language:Go 100.0%