NiceResultResponse.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System.Text.Json.Serialization;
  2. namespace Infrastructure.Kyc.Nice.Dto;
  3. /// <summary>
  4. /// POST /ido/intc/v1.0/auth/result 응답. 가이드 §2-3.
  5. /// </summary>
  6. internal sealed class NiceResultResponse
  7. {
  8. [JsonPropertyName("result_code")]
  9. public string? ResultCode { get; set; }
  10. [JsonPropertyName("result_message")]
  11. public string? ResultMessage { get; set; }
  12. /// <summary>AES-256-GCM 으로 암호화된 사용자 정보 (Base64Url, no padding).</summary>
  13. [JsonPropertyName("enc_data")]
  14. public string? EncData { get; set; }
  15. /// <summary>HMAC-SHA256 무결성 값 (Base64Url, no padding).</summary>
  16. [JsonPropertyName("integrity_value")]
  17. public string? IntegrityValue { get; set; }
  18. }
  19. /// <summary>
  20. /// enc_data 복호화 후 JSON. 가이드 §2-3 의 평문 필드.
  21. /// </summary>
  22. internal sealed class NiceResultDecryptedDto
  23. {
  24. [JsonPropertyName("name")]
  25. public string? Name { get; set; }
  26. [JsonPropertyName("birthdate")]
  27. public string? Birthdate { get; set; }
  28. [JsonPropertyName("gender")]
  29. public string? Gender { get; set; }
  30. [JsonPropertyName("national_info")]
  31. public string? NationalInfo { get; set; }
  32. [JsonPropertyName("ci")]
  33. public string? Ci { get; set; }
  34. [JsonPropertyName("ci2")]
  35. public string? Ci2 { get; set; }
  36. [JsonPropertyName("di")]
  37. public string? Di { get; set; }
  38. [JsonPropertyName("ci_update")]
  39. public string? CiUpdate { get; set; }
  40. [JsonPropertyName("mobile_co")]
  41. public string? MobileCo { get; set; }
  42. [JsonPropertyName("mobile_no")]
  43. public string? MobileNo { get; set; }
  44. [JsonPropertyName("vnumber")]
  45. public string? Vnumber { get; set; }
  46. [JsonPropertyName("age_code")]
  47. public string? AgeCode { get; set; }
  48. [JsonPropertyName("auth_method")]
  49. public string? AuthMethod { get; set; }
  50. }