Moving adding members services to correct project for use on the front-end, not just the back-office.
This commit is contained in:
@@ -4,9 +4,9 @@ using NUnit.Framework;
|
||||
using Umbraco.Core.DependencyInjection;
|
||||
using Umbraco.Infrastructure.Security;
|
||||
using Umbraco.Tests.Integration.Testing;
|
||||
using Umbraco.Web.BackOffice.DependencyInjection;
|
||||
using Umbraco.Web.Common.DependencyInjection;
|
||||
|
||||
namespace Umbraco.Tests.Integration.Umbraco.Web.BackOffice
|
||||
namespace Umbraco.Tests.Integration.Umbraco.Web.Common
|
||||
{
|
||||
[TestFixture]
|
||||
public class MembersServiceCollectionExtensionsTests : UmbracoIntegrationTest
|
||||
@@ -10,6 +10,7 @@ using Umbraco.Infrastructure.Security;
|
||||
using Umbraco.Net;
|
||||
using Umbraco.Web.Actions;
|
||||
using Umbraco.Web.BackOffice.Authorization;
|
||||
using Umbraco.Web.BackOffice.Extensions;
|
||||
using Umbraco.Web.BackOffice.Security;
|
||||
using Umbraco.Web.Common.AspNetCore;
|
||||
using Umbraco.Web.Common.Authorization;
|
||||
@@ -38,15 +39,6 @@ namespace Umbraco.Web.BackOffice.DependencyInjection
|
||||
services.ConfigureOptions<ConfigureBackOfficeSecurityStampValidatorOptions>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the services required for using Members Identity
|
||||
/// </summary>
|
||||
public static void AddMembersIdentity(this IServiceCollection services) =>
|
||||
services.BuildMembersIdentity()
|
||||
.AddDefaultTokenProviders()
|
||||
.AddUserStore<MembersUserStore>()
|
||||
.AddMembersUserManager<IMemberManager, MemberManager>();
|
||||
|
||||
private static BackOfficeIdentityBuilder BuildUmbracoBackOfficeIdentity(this IServiceCollection services)
|
||||
{
|
||||
// Borrowed from https://github.com/dotnet/aspnetcore/blob/master/src/Identity/Extensions.Core/src/IdentityServiceCollectionExtensions.cs#L33
|
||||
@@ -85,15 +77,6 @@ namespace Umbraco.Web.BackOffice.DependencyInjection
|
||||
return new BackOfficeIdentityBuilder(services);
|
||||
}
|
||||
|
||||
private static MembersIdentityBuilder BuildMembersIdentity(this IServiceCollection services)
|
||||
{
|
||||
// Services used by Umbraco members identity
|
||||
services.TryAddScoped<IUserValidator<MembersIdentityUser>, UserValidator<MembersIdentityUser>>();
|
||||
services.TryAddScoped<IPasswordValidator<MembersIdentityUser>, PasswordValidator<MembersIdentityUser>>();
|
||||
services.TryAddScoped<IPasswordHasher<MembersIdentityUser>, PasswordHasher<MembersIdentityUser>>();
|
||||
return new MembersIdentityBuilder(services);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add authorization handlers and policies
|
||||
/// </summary>
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Umbraco.Core.Security;
|
||||
using Umbraco.Infrastructure.Security;
|
||||
|
||||
namespace Umbraco.Extensions
|
||||
namespace Umbraco.Web.BackOffice.Extensions
|
||||
{
|
||||
/// <summary>
|
||||
/// Extension methods for <see cref="IdentityBuilder"/>
|
||||
@@ -25,19 +24,6 @@ namespace Umbraco.Extensions
|
||||
return identityBuilder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a <see cref="UserManager{TUser}"/> for the <seealso cref="MembersIdentityUser"/>.
|
||||
/// </summary>
|
||||
/// <typeparam name="TInterface">The usermanager interface</typeparam>
|
||||
/// <typeparam name="TUserManager">The usermanager type</typeparam>
|
||||
/// <returns>The current <see cref="IdentityBuilder"/> instance.</returns>
|
||||
public static IdentityBuilder AddMembersUserManager<TInterface, TUserManager>(this IdentityBuilder identityBuilder)
|
||||
where TUserManager : UserManager<MembersIdentityUser>, TInterface
|
||||
{
|
||||
identityBuilder.Services.AddScoped(typeof(TInterface), typeof(TUserManager));
|
||||
return identityBuilder;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a <see cref="SignInManager{TUser}"/> implementation for <seealso cref="BackOfficeIdentityUser"/>
|
||||
/// </summary>
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using SixLabors.ImageSharp.Memory;
|
||||
using SixLabors.ImageSharp.Web.Caching;
|
||||
using SixLabors.ImageSharp.Web.Commands;
|
||||
@@ -9,6 +11,9 @@ using SixLabors.ImageSharp.Web.DependencyInjection;
|
||||
using SixLabors.ImageSharp.Web.Processors;
|
||||
using SixLabors.ImageSharp.Web.Providers;
|
||||
using Umbraco.Core.Configuration.Models;
|
||||
using Umbraco.Infrastructure.Security;
|
||||
using Umbraco.Web.Common.Extensions;
|
||||
using Umbraco.Web.Common.Security;
|
||||
|
||||
namespace Umbraco.Web.Common.DependencyInjection
|
||||
{
|
||||
@@ -55,6 +60,25 @@ namespace Umbraco.Web.Common.DependencyInjection
|
||||
return services;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds the services required for using Members Identity
|
||||
/// </summary>
|
||||
public static void AddMembersIdentity(this IServiceCollection services) =>
|
||||
services.BuildMembersIdentity()
|
||||
.AddDefaultTokenProviders()
|
||||
.AddUserStore<MembersUserStore>()
|
||||
.AddMembersUserManager<IMemberManager, MemberManager>();
|
||||
|
||||
|
||||
private static MembersIdentityBuilder BuildMembersIdentity(this IServiceCollection services)
|
||||
{
|
||||
// Services used by Umbraco members identity
|
||||
services.TryAddScoped<IUserValidator<MembersIdentityUser>, UserValidator<MembersIdentityUser>>();
|
||||
services.TryAddScoped<IPasswordValidator<MembersIdentityUser>, PasswordValidator<MembersIdentityUser>>();
|
||||
services.TryAddScoped<IPasswordHasher<MembersIdentityUser>, PasswordHasher<MembersIdentityUser>>();
|
||||
return new MembersIdentityBuilder(services);
|
||||
}
|
||||
|
||||
private static void RemoveIntParamenterIfValueGreatherThen(IDictionary<string, string> commands, string parameter, int maxValue)
|
||||
{
|
||||
if (commands.TryGetValue(parameter, out var command))
|
||||
|
||||
Reference in New Issue
Block a user