Merge branch 'netcore/dev' into netcore/task/6973-migrating-authenticationcontroller

# Conflicts:
#	src/Umbraco.Core/Constants-Security.cs
#	src/Umbraco.Infrastructure/BackOffice/BackOfficeClaimsPrincipalFactory.cs
#	src/Umbraco.Infrastructure/BackOffice/BackOfficeUserManager.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Tests.AcceptanceTest/cypress/integration/Tour/backofficeTour.ts
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeServerVariables.cs
#	src/Umbraco.Web.BackOffice/Controllers/DenyLocalLoginAuthorizationAttribute.cs
#	src/Umbraco.Web.BackOffice/Controllers/UsersController.cs
#	src/Umbraco.Web.BackOffice/Extensions/HtmlHelperBackOfficeExtensions.cs
#	src/Umbraco.Web.BackOffice/Services/IconService.cs
#	src/Umbraco.Web.Common/Security/ExternalSignInAutoLinkOptions.cs
#	src/Umbraco.Web.UI.Client/src/common/interceptors/_module.js
#	src/Umbraco.Web.UI.Client/src/common/interceptors/requiredheaders.interceptor.js
#	src/Umbraco.Web.UI.Client/src/views/common/overlays/user/user.controller.js
#	src/Umbraco.Web.UI.NetCore/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/da.xml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/en.xml
#	src/Umbraco.Web.UI.NetCore/umbraco/config/lang/en_us.xml
#	src/Umbraco.Web.UI/Umbraco/Views/AuthorizeUpgrade.cshtml
#	src/Umbraco.Web/Editors/AuthenticationController.cs
#	src/Umbraco.Web/Editors/BackOfficeController.cs
#	src/Umbraco.Web/Editors/Filters/IsCurrentUserModelFilterAttribute.cs
#	src/Umbraco.Web/Security/AppBuilderExtensions.cs
#	src/Umbraco.Web/Security/AuthenticationOptionsExtensions.cs
#	src/Umbraco.Web/UmbracoDefaultOwinStartup.cs
This commit is contained in:
Shannon
2020-10-23 10:10:02 +11:00
parent ca8e54ffc6
commit 1400a02798
126 changed files with 3498 additions and 635 deletions

View File

@@ -0,0 +1,24 @@
using System;
namespace Umbraco.Core.Models.Identity
{
/// <inheritdoc />
public class ExternalLogin : IExternalLogin
{
public ExternalLogin(string loginProvider, string providerKey, string userData = null)
{
LoginProvider = loginProvider ?? throw new ArgumentNullException(nameof(loginProvider));
ProviderKey = providerKey ?? throw new ArgumentNullException(nameof(providerKey));
UserData = userData;
}
/// <inheritdoc />
public string LoginProvider { get; }
/// <inheritdoc />
public string ProviderKey { get; }
/// <inheritdoc />
public string UserData { get; }
}
}

View File

@@ -0,0 +1,12 @@
namespace Umbraco.Core.Models.Identity
{
/// <summary>
/// Used to persist external login data for a user
/// </summary>
public interface IExternalLogin
{
string LoginProvider { get; }
string ProviderKey { get; }
string UserData { get; }
}
}

View File

@@ -2,23 +2,30 @@
namespace Umbraco.Core.Models.Identity
{
// TODO: Merge these in v8! This is here purely for backward compat
public interface IIdentityUserLoginExtended : IIdentityUserLogin
{
/// <summary>
/// Used to store any arbitrary data for the user and external provider - like user tokens returned from the provider
/// </summary>
string UserData { get; set; }
}
public interface IIdentityUserLogin : IEntity, IRememberBeingDirty
{
/// <summary>
/// The login provider for the login (i.e. Facebook, Google)
///
/// </summary>
string LoginProvider { get; set; }
/// <summary>
/// Key representing the login for the provider
///
/// </summary>
string ProviderKey { get; set; }
/// <summary>
/// User Id for the user who owns this login
///
/// </summary>
int UserId { get; set; }
}

View File

@@ -3,11 +3,11 @@ using Umbraco.Core.Models.Entities;
namespace Umbraco.Core.Models.Identity
{
/// <summary>
/// Entity type for a user's login (i.e. Facebook, Google)
///
/// </summary>
public class IdentityUserLogin : EntityBase, IIdentityUserLogin
public class IdentityUserLogin : EntityBase, IIdentityUserLoginExtended
{
public IdentityUserLogin(string loginProvider, string providerKey, int userId)
{
@@ -25,22 +25,16 @@ namespace Umbraco.Core.Models.Identity
CreateDate = createDate;
}
/// <summary>
/// The login provider for the login (i.e. Facebook, Google)
///
/// </summary>
/// <inheritdoc />
public string LoginProvider { get; set; }
/// <summary>
/// Key representing the login for the provider
///
/// </summary>
/// <inheritdoc />
public string ProviderKey { get; set; }
/// <summary>
/// User Id for the user who owns this login
///
/// </summary>
/// <inheritdoc />
public int UserId { get; set; }
/// <inheritdoc />
public string UserData { get; set; }
}
}