AuthJanitor icon indicating copy to clipboard operation
AuthJanitor copied to clipboard

Enhancement/simplification2021

Open anthturner opened this issue 5 years ago • 1 comments

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.Core is now an actual core. It exposes AuthJanitorService which 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.Automation has 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.IIdentity is gone -- it is more or less replaced by ITokenCredentialProvider which will be overrode for consuming applications to provide a source for tokens
  • AuthJanitor.Repository is 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 with AuthJanitorService to provide scheduled task execution.
  • AuthJanitor.Automation is now built around Microsoft.Identity.Web to 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. 🤞

anthturner avatar Jan 03 '21 02:01 anthturner

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.

anthturner avatar Jan 22 '21 16:01 anthturner