Originally intended to support a complex multi-game, multi-version, distributed hosting system… Our authentication system seems bizzarely overcomplex in light of its actually working with just one game. It can be a real pain to work with: its a nightmare of levels of flexibility and verification and validation and processing and statelessness followed by blanket, hard-coded "one purpose only" chunks of cryptic code…
Every now and again I have to sit down and sketch out a process outline for the whole thing in my current frame of mind to help me work out where any given thing is supposed to happen along the way… It often reads like a skit from the same "show" as "The Daimler"…
"Hello, I'd like to report a login"
"Oh, yes sir. A login. Don't get many of those around here. Are you sure its a login?"
<Consults a file he's brought with him> "This is a login shop, isn't it?"
"Yes, logins are what we do."
"Yes, then, I'd like to report a login."
"Well, right you are then. A login to what?"
"A login to you."
"Ah, indeed, indeed. A fine time of year for it. And who will be logging in to me?"
"I will be. Logging in.". Smiles. "To you."
"Splen-did! Did you have any particular login program you wished to use fer loggin in to me with?"
"Well", scratches head, "I'll use the login program to login. To you, naturally", frowns, "If that's alright."
"Yes, of course it is! Yes. Right you are. Yes yes. Ahh, marvellous. The login program is on my list. Now! What do you plan to do if I let you log in to me with the login program?"
"Oh well, I dunno, I hadn't really thought about it. I guess I'd like to login to you so that I can log into a game."
Wrinkles brow, "With the login program?"
"Oh – yes – with the login program."
"Oh, sorry. I'd like to log in to you with the login program so that I can log into a game!"
"Yes, yes, of course. Absolutely. Incidentally. Is that a yellow t-shirt you're wearing?"
"What? No, its a short sleeved shirt."
"But its yellow, is it?"
"Yes. Why did you want to know that?"
"Oh, I don't, but we like to know what our customers are wearing."
"Are you writing that down? I don't want that on my file. How dare you!"
"Calm down, all I do is put another tick next to 'wore a yellow t-shirt'"
"Oh, well. I guess that's alright."
"Good good. Splendid. Let me make a note. Logging in… To me… the login program. To a game." <screws up note and throws it away> "Any particular game?"
"Ah. That'd be WWII Online." <notices scowl> "Sorry, sorry" <clears throat>" I'd like to log in to you with this the login program to a game called WWII Online."
"Fine, fine. Yes, yes. Fine. We have that one. Yes. Oh. But what version of WWII Online were you wanting to log into after myself with the login program?"
"So, let me see. You want to log in to me with version 1 of the login program to the release version of the game WWII Online/Battleground Europe on your PC for the purposes of being a player in the game with your WWII Online account. Is that about right?"
"Yes, that's exactly it."
"Please can I log in to you with version 1 of the login program to the release version of the game WWII Online/Battleground Europe on my PC for the purposes of being a player in the game with my own WWII Online account?"
"WHAT? Why not?"
<consults large sheaf of papers, mumbles, points, mumbles, turns the page, nods, mutters 'Yes, yes'> "Here you go!"
Glances at piece of paper, scratches head, "But this just says 'Page not found'", looks up, "Hello? HELLO! Come back!"