iam
iam copied to clipboard
Events
IAM would benefit from having an event emitter for the following actions:
Resources
- [ ]
create
(new) - [ ]
update
(name, description, rights) - [ ]
delete
Roles
- [ ]
create
(new) - [ ]
update
(name, description, rights) - [ ]
delete
- [ ]
right.allow
- [ ]
right.deny
(Removing a right is the same as denying it)
Groups
- [ ]
create
(new) - [ ]
update
(name, description, rights) - [ ]
delete
- [ ]
member.join
- [ ]
member.leave
Users
- [ ]
create
- [ ]
update
(name, description) - [ ]
delete
- [ ]
group.join
- [ ]
group.leave
- [ ]
role.assign
- [ ]
role.revoke
- [ ]
resource.access.change
(this should be triggered when a permission changes).
Rights do not need events because the actions performed with rights are always within the context of a parent role or resource.
Major Caveat
Event emitting is not the core purpose of this library. It is a usability feature. As such, it may be better to leave this as an exercise for the developer. IAM could be extended as an NGNX component, which could leverage the NGN.EventEmitter as well as other features of the library.