Files
Nebula-Auth/SteamLibForked/Account/MobileSessionData.cs
T
achiez 8ff960189e 1.5.6 Bug fixes and code clean-ups
- 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
2025-05-02 23:29:24 +03:00

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