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;
}
}
}