Ajoute les amis et les invitations temps reel
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user