Fix ID Provider incorrectly resetting on login

This commit is contained in:
Matthew Strasiotto
2022-05-26 19:17:58 +10:00
parent 07aa74b1d7
commit 5da7e02faf
+4 -4
View File
@@ -563,9 +563,9 @@ public class SSOController : ControllerBase
{ {
_logger.LogInformation("SSO user doesn't exist, creating..."); _logger.LogInformation("SSO user doesn't exist, creating...");
user = await _userManager.CreateUserAsync(username).ConfigureAwait(false); user = await _userManager.CreateUserAsync(username).ConfigureAwait(false);
user.AuthenticationProviderId = GetType().FullName;
} }
user.AuthenticationProviderId = GetType().FullName;
if (enableAuthorization) if (enableAuthorization)
{ {
user.SetPermission(PermissionKind.IsAdministrator, isAdmin); user.SetPermission(PermissionKind.IsAdministrator, isAdmin);
@@ -588,9 +588,9 @@ public class SSOController : ControllerBase
_logger.LogInformation("Auth request created..."); _logger.LogInformation("Auth request created...");
if (!string.IsNullOrEmpty(defaultProvider)) if (!string.IsNullOrEmpty(defaultProvider))
{ {
user.AuthenticationProviderId = defaultProvider; user.AuthenticationProviderId = defaultProvider;
await _userManager.UpdateUserAsync(user).ConfigureAwait(false); await _userManager.UpdateUserAsync(user).ConfigureAwait(false);
_logger.LogInformation("Set default login provider to " + defaultProvider); _logger.LogInformation("Set default login provider to " + defaultProvider);
} }
return await _sessionManager.AuthenticateDirect(authRequest).ConfigureAwait(false); return await _sessionManager.AuthenticateDirect(authRequest).ConfigureAwait(false);