using System.Text.Json.Serialization; namespace Infrastructure.Kyc.Nice.Dto; /// /// POST /ido/intc/v1.0/auth/result 응답. 가이드 §2-3. /// internal sealed class NiceResultResponse { [JsonPropertyName("result_code")] public string? ResultCode { get; set; } [JsonPropertyName("result_message")] public string? ResultMessage { get; set; } /// AES-256-GCM 으로 암호화된 사용자 정보 (Base64Url, no padding). [JsonPropertyName("enc_data")] public string? EncData { get; set; } /// HMAC-SHA256 무결성 값 (Base64Url, no padding). [JsonPropertyName("integrity_value")] public string? IntegrityValue { get; set; } } /// /// enc_data 복호화 후 JSON. 가이드 §2-3 의 평문 필드. /// internal sealed class NiceResultDecryptedDto { [JsonPropertyName("name")] public string? Name { get; set; } [JsonPropertyName("birthdate")] public string? Birthdate { get; set; } [JsonPropertyName("gender")] public string? Gender { get; set; } [JsonPropertyName("national_info")] public string? NationalInfo { get; set; } [JsonPropertyName("ci")] public string? Ci { get; set; } [JsonPropertyName("ci2")] public string? Ci2 { get; set; } [JsonPropertyName("di")] public string? Di { get; set; } [JsonPropertyName("ci_update")] public string? CiUpdate { get; set; } [JsonPropertyName("mobile_co")] public string? MobileCo { get; set; } [JsonPropertyName("mobile_no")] public string? MobileNo { get; set; } [JsonPropertyName("vnumber")] public string? Vnumber { get; set; } [JsonPropertyName("age_code")] public string? AgeCode { get; set; } [JsonPropertyName("auth_method")] public string? AuthMethod { get; set; } }