using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.DependencyInjection; using Umbraco.Cms.Core.Security; namespace Umbraco.Extensions { /// /// Extension methods for /// public static class IdentityBuilderExtensions { /// /// Adds a implementation for /// /// The usermanager interface /// The usermanager type /// The /// The current instance. public static IdentityBuilder AddUserManager(this IdentityBuilder identityBuilder) where TUserManager : UserManager, TInterface { identityBuilder.AddUserManager(); identityBuilder.Services.AddScoped(typeof(TInterface), typeof(TUserManager)); return identityBuilder; } /// /// Adds a implementation for /// /// The sign in manager interface /// The sign in manager type /// The /// The current instance. public static IdentityBuilder AddSignInManager(this IdentityBuilder identityBuilder) where TSignInManager : SignInManager, TInterface { identityBuilder.AddSignInManager(); identityBuilder.Services.AddScoped(typeof(TInterface), typeof(TSignInManager)); return identityBuilder; } } }