Overview
There are several scenarios where modules need a system or tenant-level user. Requirements and various scenarios are captured in - FOLIO-2551Getting issue details... STATUS . Ideally we can solve this at the platform level and apply it in a consistent manner.
Scenarios
This is a work in progress - see the JIRA linked above for additional details.
- A module needs to perform asynchronous actions which involves calling other modules. In order to make the request an okapi token is required, suggesting that there's a user context.
- A module needs to writing/updating records in the DB out of band - i.e. outside the context of a request. A user context is needed to set record metadata
- Edge APIs use manually provisioned institutional users to make calls into FOLIO. It would be nice if these did not have to be manually created and managed.
- TBD
Other Considerations
- It would be nice if these system/tenant users could be hidden from the users app to reduce the risk of being accidentally changed/removed/etc. It may also be desirable for these to be invisible to librarians to help cut down on clutter in the users app.
- The secret storage design effort may overlap here depending on the approach we take here. See FOLIO secrets management
- TBD