AuthJanitor
AuthJanitor copied to clipboard
Enhancement/simplification2021
This PR represents about 2 months of whiteboarding and reworking the core concepts behind AuthJanitor, so breaking down these changes (of which there are a ton) comes down to:
-
AuthJanitor.Coreis now an actual core. It exposesAuthJanitorServicewhich rolls up all the subservices as well as basic functionality; Core can now run Providers or dispatch messages to other agents, which is the most basic service AJ provides -
AuthJanitor.Automationhas been completely gutted and a new web/UI framework has been laid -
AuthJanitor.Integrations.DataStores.*is gone -- all DataStores are now replaced with vanilla EF as a component of the web app rather than as a part of the core -
AuthJanitor.IdentityServices.IIdentityis gone -- it is more or less replaced byITokenCredentialProviderwhich will be overrode for consuming applications to provide a source for tokens -
AuthJanitor.Repositoryis the new abstraction behind all data storage for AuthJanitor. This allows for web apps, CLI apps, etc, to use a discrete data store. It has some hooks to interface withAuthJanitorServiceto provide scheduled task execution. -
AuthJanitor.Automationis now built aroundMicrosoft.Identity.Webto fix the majority of token-related bugs
This is a huge maintainability change which substantially reduces the amount of code by refactoring functional systems. As an aside, this also fixes what I believe to be the last of the design/architecture smells. 🤞
Staleness update:
This is still on my plate to wrap up. Most of the work is done but finishing the new UI framework is critical to getting this to a mergeable state. Time-dependent, I expect that to happen sometime in (hopefully early) February.