using System; using C4IT.Security; using C4IT.API.Contracts; namespace C4IT_CustomerPanel.libs { public class UserInfo { public static UserInfo UserInfoInstance = null; public string Id { get; set; } public string Email { get; set; } public string EncryptedApiToken { get; set; } public DateTime LoginDate { get; set; } public DateTime ExpirationDate { get; set; } public UserInfo() { UserInfoInstance = this; } public override string ToString() { // Nur die ersten X Zeichen des Tokens anzeigen const int tokenVisibleLength = 10; string maskedToken; if (string.IsNullOrEmpty(EncryptedApiToken)) { maskedToken = "(null or empty)"; } else { var displayLength = Math.Min(tokenVisibleLength, EncryptedApiToken.Length); maskedToken = EncryptedApiToken.Substring(0, displayLength) + new string('*', Math.Max(0, EncryptedApiToken.Length - displayLength)); } return $"UserInfo => Id: {Id}, " + $"Email: {Email}, " + $"Token: {maskedToken}, " + $"LoginDate: {LoginDate:u}, " + $"ExpirationDate: {ExpirationDate:u}"; } } }