Add support for remembering password (loginkey).

pull/25/head
Nicholas Hastings 8 years ago
parent 35aa666ea5
commit 6e4a764bb9

@ -20,6 +20,9 @@ namespace DepotDownloader
[ProtoMember(4, IsRequired = false)] [ProtoMember(4, IsRequired = false)]
public System.Collections.Concurrent.ConcurrentDictionary<string, int> ContentServerPenalty { get; private set; } public System.Collections.Concurrent.ConcurrentDictionary<string, int> ContentServerPenalty { get; private set; }
[ProtoMember(5, IsRequired = false)]
public Dictionary<string, string> LoginKeys { get; private set; }
string FileName = null; string FileName = null;
ConfigStore() ConfigStore()

@ -339,6 +339,8 @@ namespace DepotDownloader
{ {
Username = username, Username = username,
Password = password, Password = password,
ShouldRememberPassword = Config.RememberPassword,
LoginKey = ConfigStore.TheConfig.LoginKeys.ContainsKey(username) ? ConfigStore.TheConfig.LoginKeys[username] : null,
} }
); );

@ -24,5 +24,7 @@ namespace DepotDownloader
public int MaxServers { get; set; } public int MaxServers { get; set; }
public int MaxDownloads { get; set; } public int MaxDownloads { get; set; }
public bool RememberPassword { get; set; }
} }
} }

@ -87,6 +87,7 @@ namespace DepotDownloader
string username = GetParameter<string>(args, "-username") ?? GetParameter<string>(args, "-user"); string username = GetParameter<string>(args, "-username") ?? GetParameter<string>(args, "-user");
string password = GetParameter<string>(args, "-password") ?? GetParameter<string>(args, "-pass"); string password = GetParameter<string>(args, "-password") ?? GetParameter<string>(args, "-pass");
ContentDownloader.Config.RememberPassword = HasParameter(args, "-remember-password");
ContentDownloader.Config.InstallDirectory = GetParameter<string>(args, "-dir"); ContentDownloader.Config.InstallDirectory = GetParameter<string>(args, "-dir");
ContentDownloader.Config.DownloadAllPlatforms = HasParameter(args, "-all-platforms"); ContentDownloader.Config.DownloadAllPlatforms = HasParameter(args, "-all-platforms");
ContentDownloader.Config.VerifyAll = HasParameter(args, "-verify-all") || HasParameter(args, "-verify_all") || HasParameter(args, "-validate"); ContentDownloader.Config.VerifyAll = HasParameter(args, "-verify-all") || HasParameter(args, "-verify_all") || HasParameter(args, "-validate");
@ -97,7 +98,7 @@ namespace DepotDownloader
ContentDownloader.Config.MaxServers = Math.Max(ContentDownloader.Config.MaxServers, ContentDownloader.Config.MaxDownloads); ContentDownloader.Config.MaxServers = Math.Max(ContentDownloader.Config.MaxServers, ContentDownloader.Config.MaxDownloads);
if (username != null && password == null) if (username != null && password == null && !ConfigStore.TheConfig.LoginKeys.ContainsKey(username))
{ {
Console.Write("Enter account password for \"{0}\": ", username); Console.Write("Enter account password for \"{0}\": ", username);
password = Util.ReadPassword(); password = Util.ReadPassword();

@ -94,6 +94,7 @@ namespace DepotDownloader
this.callbacks.Subscribe<SteamUser.SessionTokenCallback>(SessionTokenCallback); this.callbacks.Subscribe<SteamUser.SessionTokenCallback>(SessionTokenCallback);
this.callbacks.Subscribe<SteamApps.LicenseListCallback>(LicenseListCallback); this.callbacks.Subscribe<SteamApps.LicenseListCallback>(LicenseListCallback);
this.callbacks.Subscribe<SteamUser.UpdateMachineAuthCallback>(UpdateMachineAuthCallback); this.callbacks.Subscribe<SteamUser.UpdateMachineAuthCallback>(UpdateMachineAuthCallback);
this.callbacks.Subscribe<SteamUser.LoginKeyCallback>(LoginKeyCallback);
Console.Write( "Connecting to Steam3..." ); Console.Write( "Connecting to Steam3..." );
@ -563,6 +564,14 @@ namespace DepotDownloader
steamUser.SendMachineAuthResponse( authResponse ); steamUser.SendMachineAuthResponse( authResponse );
} }
private void LoginKeyCallback(SteamUser.LoginKeyCallback loginKey)
{
ConfigStore.TheConfig.LoginKeys[logonDetails.Username] = loginKey.LoginKey;
ConfigStore.Save();
steamUser.AcceptNewLoginKey(loginKey);
}
} }
} }

Loading…
Cancel
Save