Stable user lockout, role and claim calls

This commit is contained in:
2026-10-10 18:14:31 +02:00
parent d3566c5e43
commit 381d5b7e94
11 changed files with 249 additions and 22 deletions
@@ -46,7 +46,7 @@ public interface ISkorubaUserService
Task<Result<Models.Security.Claim[]>> GetUserClaimsAsync(Guid userId, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
[Log]
Task<Result<Models.Security.Claim[]>> GetRoleClaimsAsync(Guid roleId, int page = 1, int pageSize = 50, CancellationToken cancellationToken = default);
Task<Result<Models.Security.Claim[]>> GetRoleClaimsAsync(Guid roleId, CancellationToken cancellationToken = default);
[Log]
Task<Result> InvalidateUserSessionAsync(Guid userId, CancellationToken cancellationToken = default);
@@ -9,4 +9,4 @@ public sealed class MachineIdentitySettings
public string? ClientId { get; set; }
public string? ClientSecret { get; set; }
}
}
@@ -2,6 +2,39 @@
namespace PostFundManagement.Domain.Models.Security;
public sealed class UserLockOutRequest
{
[JsonPropertyName("id")]
public string? UserId { get; set; }
[JsonPropertyName("userName")]
public string? UserName { get; set; }
[JsonPropertyName("email")]
public string? Email { get; set; }
[JsonPropertyName("emailConfirmed")]
public bool EmailConfirmed { get; set; }
[JsonPropertyName("phoneNumber")]
public string? PhoneNumber { get; set; }
[JsonPropertyName("phoneNumberConfirmed")]
public bool PhoneNumberConfirmed { get; set; }
[JsonPropertyName("LockoutEnabled")]
public bool LockoutEnabled { get; set; }
[JsonPropertyName("twoFactorEnabled")]
public bool TwoFactorEnabled { get; set; }
[JsonPropertyName("accessFailedCount")]
public int AccessFailedCount { get; set; }
[JsonPropertyName("lockoutEnd")]
public DateTimeOffset? LockoutEnd { get; set; }
}
public sealed record AddUserClaimRequest([Required] Guid UserId,
[Required] int ClaimId,
[Required][MaxLength(LabelLength)] string ClaimType,