Ajoute les amis et les invitations temps reel

This commit is contained in:
2026-04-15 23:08:48 +02:00
parent 9aae4cadc0
commit 8ea6ef8424
18 changed files with 3136 additions and 25 deletions

View File

@@ -1,3 +1,4 @@
using ChessCubing.Server.Auth;
using System.Security.Claims;
namespace ChessCubing.Server.Users;
@@ -10,6 +11,28 @@ public sealed record AuthenticatedSiteUser(
public static class AuthenticatedSiteUserFactory
{
public static AuthenticatedSiteUser? FromKeycloakUserInfo(KeycloakUserInfo userInfo)
{
if (string.IsNullOrWhiteSpace(userInfo.Subject))
{
return null;
}
var username = string.IsNullOrWhiteSpace(userInfo.PreferredUsername)
? userInfo.Subject
: userInfo.PreferredUsername;
var displayName = string.IsNullOrWhiteSpace(userInfo.Name)
? username
: userInfo.Name;
return new AuthenticatedSiteUser(
userInfo.Subject.Trim(),
username.Trim(),
string.IsNullOrWhiteSpace(userInfo.Email) ? null : userInfo.Email.Trim(),
displayName.Trim());
}
public static AuthenticatedSiteUser? FromClaimsPrincipal(ClaimsPrincipal user)
{
if (user.Identity?.IsAuthenticated != true)