using System.Text.Json.Serialization; namespace DysonNetwork.Pass.Features.Auth.Models; public class OidcUserInfo { [JsonPropertyName("sub")] public string Subject { get; set; } = string.Empty; [JsonPropertyName("name")] public string? Name { get; set; } [JsonPropertyName("given_name")] public string? GivenName { get; set; } [JsonPropertyName("family_name")] public string? FamilyName { get; set; } [JsonPropertyName("middle_name")] public string? MiddleName { get; set; } [JsonPropertyName("nickname")] public string? Nickname { get; set; } [JsonPropertyName("preferred_username")] public string? PreferredUsername { get; set; } [JsonPropertyName("profile")] public string? Profile { get; set; } [JsonPropertyName("picture")] public string? Picture { get; set; } [JsonPropertyName("website")] public string? Website { get; set; } [JsonPropertyName("email")] public string? Email { get; set; } [JsonPropertyName("email_verified")] public bool? EmailVerified { get; set; } [JsonPropertyName("gender")] public string? Gender { get; set; } [JsonPropertyName("birthdate")] public string? Birthdate { get; set; } [JsonPropertyName("zoneinfo")] public string? ZoneInfo { get; set; } [JsonPropertyName("locale")] public string? Locale { get; set; } [JsonPropertyName("phone_number")] public string? PhoneNumber { get; set; } [JsonPropertyName("phone_number_verified")] public bool? PhoneNumberVerified { get; set; } [JsonPropertyName("address")] public Dictionary? Address { get; set; } [JsonPropertyName("updated_at")] public long? UpdatedAt { get; set; } // Custom claims [JsonExtensionData] public Dictionary? AdditionalData { get; set; } }