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:
@@ -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) =>
|
||||
|
||||
Reference in New Issue
Block a user