Allow removing the existing authenticator using a revocation code

This commit is contained in:
Vladimir Panteleev 2017-01-19 19:11:28 +00:00
parent bde0fe4ab3
commit a252a4b019

View file

@ -377,8 +377,22 @@ namespace SteamGuard
Console.WriteLine("error: Unable to add your phone number. Steam returned GeneralFailure"); Console.WriteLine("error: Unable to add your phone number. Steam returned GeneralFailure");
return; return;
case AuthenticatorLinker.LinkResult.AuthenticatorPresent: case AuthenticatorLinker.LinkResult.AuthenticatorPresent:
Console.WriteLine("error: Can't link authenticator, remove the previous authenticator."); Console.WriteLine("An authenticator is already present.");
return; Console.WriteLine("If you have the revocation code (Rxxxxx), this program can remove it for you.");
Console.Write("Would you like to remove the current authenticator using your revocation code? (y/n) ");
var answer = Console.ReadLine();
if (answer != "y")
continue;
Console.Write("Revocation code (Rxxxxx): ");
var revocationCode = Console.ReadLine();
var account = new SteamGuardAccount();
account.Session = login.Session;
account.RevocationCode = revocationCode;
if (account.DeactivateAuthenticator())
Console.WriteLine("Successfully deactivated the current authenticator.");
else
Console.WriteLine("Deactivating the current authenticator was unsuccessful.");
continue;
default: default:
Console.WriteLine($"error: Unexpected linker result: {linkResult}"); Console.WriteLine($"error: Unexpected linker result: {linkResult}");
return; return;