Skip to content

Commit cb15c2a

Browse files
rickbutterfieldbergmania
authored andcommitted
Fixes #11591
1 parent 25e82dd commit cb15c2a

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/Umbraco.Web.BackOffice/Security/BackOfficeSignInManager.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,17 @@ private async Task<SignInResult> AutoLinkAndSignInExternalAccount(ExternalLoginI
193193
return AutoLinkSignInResult.FailedException(ex.Message);
194194
}
195195

196+
var shouldSignIn = autoLinkOptions.OnExternalLogin(autoLinkUser, loginInfo);
197+
if (shouldSignIn == false)
198+
{
199+
Logger.LogWarning("The AutoLinkOptions of the external authentication provider '{LoginProvider}' have refused the login based on the OnExternalLogin method. Affected user id: '{UserId}'", loginInfo.LoginProvider, autoLinkUser.Id);
200+
return SignInResult.NotAllowed;
201+
}
202+
else
203+
{
204+
return await LinkUser(autoLinkUser, loginInfo);
205+
}
206+
196207
return await LinkUser(autoLinkUser, loginInfo);
197208
}
198209
else
@@ -226,7 +237,16 @@ private async Task<SignInResult> AutoLinkAndSignInExternalAccount(ExternalLoginI
226237
}
227238
else
228239
{
229-
return await LinkUser(autoLinkUser, loginInfo);
240+
var shouldSignIn = autoLinkOptions.OnExternalLogin(autoLinkUser, loginInfo);
241+
if (shouldSignIn == false)
242+
{
243+
Logger.LogWarning("The AutoLinkOptions of the external authentication provider '{LoginProvider}' have refused the login based on the OnExternalLogin method. Affected user id: '{UserId}'", loginInfo.LoginProvider, autoLinkUser.Id);
244+
return SignInResult.NotAllowed;
245+
}
246+
else
247+
{
248+
return await LinkUser(autoLinkUser, loginInfo);
249+
}
230250
}
231251
}
232252
}

0 commit comments

Comments
 (0)