Skip to content

Conversation

@anthturner
Copy link
Contributor

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. 🤞

Dropping split Functions+BlazorWASM in favor of unified BlazorServer, move datastores to Repository and drop DataStore integrations entirely
@anthturner
Copy link
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants