Skip to content

Conversation

amrc-benmorrow
Copy link
Contributor

This is not fully tested yet.

Add an Auth interface to RxClient. This tracks ACLs via change-notify, caching and tracking the ACL for a given principal for half an hour. Calls to the existing Auth interface methods will now go via this cache instead of the HTTP request cache.

Update existing Auth clients to use RxClient. In most cases this is all that is required to support change-notify. In some cases additional updates to use the ConfigDB notify interface are also included.

This overrides the core acl-fetch method in the Auth interface with one
which subscribes to notifications. This gives us immediate updates when
permissions change. We subscribe to the ACL for a given principal for
half an hour; if we have no more requests in that time the subscription
will be dropped.
This gives push authentication.
Code which has moved from acs-configdb to js-service-api was not moved
across correctly.

rx-util import typo

We need immutable

I've missed a whole function here...
Skip the Directory for now as that needs direct access to the raw ACL.
The Directory needs access to the raw ACL, so expose this as a public
method. It's cleaner to override a public method in any case.
This should be more reliable as the Sparkplug notifications do not sync
well with the HTTP caching.
This doesn't use the Auth service but is suffering from unreliable
ConfigDB updates.
If we're committing it we need to build with it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant