private void MsgRedirectRequest(RedirectRequestPacket packet) { lock (IncomingClients) { if (IncomingClients.ContainsKey(packet.Id)) { IncomingClients.Remove(packet.Id); } IncomingClients.Add(packet.Id, new LoginAccountEntry(packet)); } AuthCommunicator.Send(new RedirectResponsePacket { AccountId = packet.Id, Response = RedirectResult.Success }); }
public LoginAccountEntry AuthenticateClient(Client client, uint accountId, uint oneTimeKey) { lock (IncomingClients) { if (!IncomingClients.ContainsKey(accountId)) { return(null); } var entry = IncomingClients[accountId]; if (entry == null || entry.OneTimeKey != oneTimeKey) { return(null); } IncomingClients.Remove(accountId); return(entry); } }