Verrouille le nom d'utilisateur en edition admin

This commit is contained in:
2026-04-15 22:28:37 +02:00
parent 52d5bf4e98
commit c92df9a8f0
5 changed files with 16 additions and 11 deletions

View File

@@ -251,8 +251,9 @@ adminGroup.MapPut("/users/{subject}", async Task<IResult> (
{
try
{
var existingIdentity = await keycloak.GetAdminUserAsync(subject, cancellationToken);
var normalized = NormalizeAdminUpdate(request);
var fallbackDisplayName = BuildIdentityDisplayNameFromParts(normalized.FirstName, normalized.LastName, normalized.Username);
var fallbackDisplayName = BuildIdentityDisplayNameFromParts(normalized.FirstName, normalized.LastName, existingIdentity.Username);
var siteProfileRequest = new UpdateUserProfileRequest
{
DisplayName = request.DisplayName,
@@ -268,7 +269,7 @@ adminGroup.MapPut("/users/{subject}", async Task<IResult> (
var updatedIdentity = await keycloak.UpdateAdminUserAsync(
subject,
new AdminIdentityUserUpdateRequest(
normalized.Username,
existingIdentity.Username,
normalized.Email,
normalized.FirstName,
normalized.LastName,
@@ -421,13 +422,11 @@ static AdminUserDetailResponse MapAdminDetail(AdminIdentityUser identity, UserPr
static NormalizedAdminUserUpdate NormalizeAdminUpdate(AdminUpdateUserRequest request)
{
var username = NormalizeRequiredValue(request.Username, "nom d'utilisateur", 120);
var email = NormalizeEmail(request.Email);
var firstName = NormalizeOptionalValue(request.FirstName, "prenom", 120);
var lastName = NormalizeOptionalValue(request.LastName, "nom", 120);
return new NormalizedAdminUserUpdate(
username,
email,
firstName,
lastName,
@@ -575,7 +574,6 @@ static async Task SignInAsync(HttpContext httpContext, KeycloakUserInfo userInfo
}
sealed record NormalizedAdminUserUpdate(
string Username,
string? Email,
string? FirstName,
string? LastName,