mirror of
https://github.com/achiez/NebulaAuth-Steam-Desktop-Authenticator-by-Achies.git
synced 2026-07-25 06:14:31 +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
57 lines
1.7 KiB
C#
57 lines
1.7 KiB
C#
using System.Diagnostics.CodeAnalysis;
|
|
using Newtonsoft.Json;
|
|
using SteamLib.Core.Enums;
|
|
using SteamLib.Core.Interfaces;
|
|
using SteamLib.Core.Models;
|
|
|
|
namespace SteamLib.Account;
|
|
|
|
//WARNING: Any changes here should be reflected in MafileSerializer.cs
|
|
|
|
public sealed class MobileSessionData : SessionData, IMobileSessionData
|
|
{
|
|
public SteamAuthToken? MobileToken { get; private set; }
|
|
|
|
[JsonConstructor]
|
|
public MobileSessionData(string sessionId, SteamId steamId, SteamAuthToken refreshToken,
|
|
SteamAuthToken? mobileToken, IDictionary<SteamDomain, SteamAuthToken>? tokens)
|
|
: base(sessionId, steamId, refreshToken, tokens)
|
|
{
|
|
MobileToken = mobileToken;
|
|
}
|
|
|
|
public MobileSessionData(string sessionId, SteamId steamId, SteamAuthToken refreshToken,
|
|
SteamAuthToken? mobileToken, IEnumerable<SteamAuthToken>? tokensCollection)
|
|
: base(sessionId, steamId, refreshToken, tokensCollection)
|
|
{
|
|
MobileToken = mobileToken;
|
|
}
|
|
|
|
public SteamAuthToken? GetMobileToken()
|
|
{
|
|
return MobileToken;
|
|
}
|
|
|
|
|
|
[MemberNotNull(nameof(MobileToken))]
|
|
public void SetMobileToken(SteamAuthToken token)
|
|
{
|
|
if (token.Type != SteamAccessTokenType.Mobile)
|
|
throw new ArgumentException("Token must be of type MobileAccess", nameof(token))
|
|
{
|
|
Data = {{"ActualType", token.Type}}
|
|
};
|
|
|
|
MobileToken = token;
|
|
}
|
|
|
|
public override MobileSessionData Clone()
|
|
{
|
|
return (MobileSessionData) ((ISessionData) this).Clone();
|
|
}
|
|
|
|
object ICloneable.Clone()
|
|
{
|
|
return new MobileSessionData(SessionId, SteamId, RefreshToken, MobileToken, Tokens);
|
|
}
|
|
} |