As with any online game - our players have to log in into order to be able to play the game. This was my task - since I am handling the server / graphics.
Thankfully, since we are using Parse most of the server security work is handled for us. So I just had to write code to talk to Parse from within Unity. Unfortunately, shortly after I finished writing all the code to talk to Parse - Parse.com released an official Unity plugin. We will likely be switching to using the official plugin instead of my code when I have time to make the switch.
Once the code to talk to parse was done - we had to decide how users should log in to the game. We considered three options:
Display Name / Password
The first option discussed was using Display Name / Password for log in, but there are too many problems with this approach. For one, anyone you play against online would immediately know your display name - one part of your log in. Also, we may want to allow display names to change if only so that we could force renames on offensive display names.
Account Name / Password
The second option discussed was using Account Name / Password for log in, where Account Name was something different from Display Names. But the problem with this is that since Account Name has to be unique for each player - someone could use registration process to discover what Account Names exist. Also, account names can be difficult for players to remember - and so we would need a method of retrieving account names.
Email / Password
The third option discussed was using Email / Password for log in. We choose to go with this route for a variety of reasons. The first reason, is that this approach doesn't have any of the downsides of the above two options and automatically gives us a way of forcing email verification. Email verification can be automatically handled by Parse and gives us some real benefits such as making it harder for us to be targeted by bots as only accounts with a verified email can do anything and we could just ban that account. Additionally, having a verified email allows us to send password resets to users.
Result
After we decided on a log in method I created the log in and related user interface elements and wrote the code to talk to parse to perform log in logic. As stated before, thankfully Parse has many useful user management methods which handles password requests, email verification, and security. This allowed the code written to be fairly simple HTTP requests to Parse.