Merge branch 'v10/dev' into v11/merge/merge-v10-to-v11

# Conflicts:
#	.github/workflows/codeql-analysis.yml
#	.gitignore
#	Directory.Build.props
#	build/azure-pipelines.yml
#	src/JsonSchema/Options.cs
#	src/JsonSchema/UmbracoJsonSchemaGenerator.cs
#	src/Umbraco.Cms.ManagementApi/DependencyInjection/FactoryBuilderExtensions.cs
#	src/Umbraco.Cms.ManagementApi/ManagementApiComposer.cs
#	src/Umbraco.Cms.ManagementApi/OpenApi.json
#	src/Umbraco.Core/Models/Mapping/DictionaryMapDefinition.cs
#	src/Umbraco.Infrastructure/Security/UmbracoUserManager.cs
#	tests/Directory.Build.props
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/package.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Packages/packages.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Tabs/tabs.spec.ts
#	tests/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs
This commit is contained in:
Zeegaan
2022-10-05 14:29:41 +02:00
178 changed files with 11773 additions and 1141 deletions

View File

@@ -303,19 +303,16 @@ public class MemberSignInManager : UmbracoSignInManager<MemberIdentityUser>, IMe
return await SignInOrTwoFactorAsync(autoLinkUser, false, loginInfo.LoginProvider);
}
// If this fails, we should really delete the user since it will be in an inconsistent state!
IdentityResult? deleteResult = await UserManager.DeleteAsync(autoLinkUser);
if (deleteResult.Succeeded)
{
var errors = linkResult.Errors.Select(x => x.Description).ToList();
return AutoLinkSignInResult.FailedLinkingUser(errors);
}
else
{
// DOH! ... this isn't good, combine all errors to be shown
var errors = linkResult.Errors.Concat(deleteResult.Errors).Select(x => x.Description).ToList();
return AutoLinkSignInResult.FailedLinkingUser(errors);
}
// If this fails, we should disapprove the member,as it is now in an inconsistent state.
return await HandleFailedLinkingUser(autoLinkUser, linkResult);
}
protected Task<AutoLinkSignInResult> HandleFailedLinkingUser(MemberIdentityUser autoLinkUser, IdentityResult linkResult)
{
var errors = linkResult.Errors.Select(x => x.Description).ToList();
Logger.LogError("Failed to external link user. The following errors happened: {errors}", errors);
return Task.FromResult(AutoLinkSignInResult.FailedLinkingUser(errors));
}
private void LogFailedExternalLogin(ExternalLoginInfo loginInfo, MemberIdentityUser user) =>