using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FrameworkDAL.DTO.SSO { public class SSOSessionDTO { // == Identifiers == public string? Token { get; set; } // Your small session token public string? UserCode { get; set; } // Employee code / username // == Keycloak Client == public string? ClientId { get; set; } public string? ClientSecret { get; set; } // == Tokens == public string? AccessToken { get; set; } // Keycloak access token public string? RefreshToken { get; set; } // Keycloak refresh token public string? IdToken { get; set; } // Used for fast Keycloak logout // == Expiry == public DateTime AccessTokenExpiry { get; set; } public DateTime RefreshTokenExpiry { get; set; } // == Frontend == public string? FrontendUrl { get; set; } // Where to return after logout / login success // == User Info (optional, safe) == public string? UserName { get; set; } // Display name public string? Email { get; set; } public string? Realm { get; set; } public string? Role { get; set; } // optional public string? GB5BaseUri { get; set; } // optional // == Any custom payload you need == public Dictionary Extra { get; set; } = new(); } }