mirror of
https://github.com/achiez/NebulaAuth-Steam-Desktop-Authenticator-by-Achies.git
synced 2026-07-31 17:10:49 +00:00
8ff960189e
- Update: Added "Copy Password" to Mafile context menu (if available) - Update: "Save Password" now pre-fills the current password in the "Login Again" dialog when encryption is enabled - Fix: Prevented overlapping confirmation cycles in AutoConfirmer - Fix: Added a Snackbar notification when a confirmation cycle is skipped due to a too frequent timer interval - Fix: Fixed a rare bug where the previous proxy was used instead of the current one during session refresh - Fix: Corrected "Session Permanently Expired" message showing on unrelated errors (e.g. network issues) - UI-Fix: Fixed visual glitch where proxy input appeared non-empty when switching to a mafile-specific proxy - Cleanup: Refactored and cleaned up codebase, improved styling and formatting via ReSharper
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
using AchiesUtilities.Models;
|
|
using AchiesUtilities.Newtonsoft.JSON.Converters.Special;
|
|
using Newtonsoft.Json;
|
|
using SteamLib.Authentication;
|
|
using SteamLib.Core.Enums;
|
|
using SteamLib.Core.Models;
|
|
using SteamLib.Web.Converters;
|
|
|
|
namespace SteamLib.Account;
|
|
|
|
public readonly struct SteamAuthToken
|
|
{
|
|
public string Token { get; }
|
|
|
|
[JsonConverter(typeof(SteamIdToSteam64Converter))]
|
|
public SteamId SteamId { get; }
|
|
|
|
[JsonConverter(typeof(UnixTimeStampConverter))]
|
|
public UnixTimeStamp Expires { get; }
|
|
|
|
public SteamDomain Domain { get; init; }
|
|
public SteamAccessTokenType Type { get; }
|
|
|
|
[JsonIgnore] public bool IsExpired => Expires.Time < DateTime.UtcNow;
|
|
|
|
[JsonIgnore] public string SignedToken { get; }
|
|
|
|
public SteamAuthToken(string token, long steamId, UnixTimeStamp expires, SteamDomain domain,
|
|
SteamAccessTokenType type)
|
|
{
|
|
Token = token;
|
|
Expires = expires;
|
|
Domain = domain;
|
|
Type = type;
|
|
SteamId = SteamId.FromSteam64(steamId);
|
|
SignedToken = SteamTokenHelper.CombineJwtWithSteamId(SteamId.Steam64.Id, Token);
|
|
}
|
|
|
|
[JsonConstructor]
|
|
public SteamAuthToken(string token, SteamId steamId, UnixTimeStamp expires, SteamDomain domain,
|
|
SteamAccessTokenType type)
|
|
{
|
|
Token = token;
|
|
SteamId = steamId;
|
|
Expires = expires;
|
|
Domain = domain;
|
|
Type = type;
|
|
SignedToken = SteamTokenHelper.CombineJwtWithSteamId(SteamId.Steam64.Id, Token);
|
|
}
|
|
} |