public override void HandleAuthResponse(RewrittenAccount account) { var result = account.LoginResult; var status = result.Success; if (status == "true") { account.LoggedIn = true; return; } if (status == "false") { return; } if (status == "partial") { result.AuthToken = result.Banner.Contains("ToonGuard") ? "ToonGuard" : "Two-Step Token"; AccountsToTwoStepAuth.Add(account); return; } GetAuthResponseAfterPartial(account); }
public override void HandleAuthResponse(ClashAccount account) { if (account.LoginResult.Status) { account.LoggedIn = true; } else if (account.LoginResult.Toonstep) { AccountsToTwoStepAuth.Add(account); } else if (account.LoginResult.BadToken) { account.Authorized = false; account.LoginToken = null; } }
private async Task RequestLoginAfterTwoStep() { var tasks = new List <Task>(); foreach (var account in AccountsToTwoStepAuth.ToArray()) { string authToken = account.LoginResult.AuthToken; if (NoTwoStepTokenGiven(authToken)) { continue; } AccountsToTwoStepAuth.Remove(account); tasks.Add(Task.Run(() => GetAuthResponseAfterPartial(account))); } await Task.WhenAll(tasks); }
#pragma warning disable 1998 public override async Task HandleTwoStep() { var sb = new StringBuilder(); if (AccountsToTwoStepAuth.Count == 0) { return; } foreach (var account in AccountsToTwoStepAuth) { sb.AppendLine(account.Toon); } MessageBox.Show("Some toons require Toonstep:\n\n" + sb, "Toonstep", MessageBoxButtons.OK, MessageBoxIcon.Information); AccountsToTwoStepAuth.Clear(); }