Files
CustomerPanel-Test/libs/UserInfo.cs
2026-03-05 09:56:57 +01:00

48 lines
1.4 KiB
C#

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}";
}
}
}