Upon completion of this task a user should be able to do the following:
[ ] Create an account with a Facebook account (saved in our system under the Facebook primary email)
[ ] Login with Facebook after manually creating an account (they should be linked via Facebook primary email)
[ ] At login page, if logging into an account that doesn't have a password (ie, was created via Facebook) then the user should be notified something like "This email is linked to a Facebook account, please sign in via Facebook and then add a password in your user settings or select "Lost Password" to set up a password"
[ ] If an account has a Facebook link and system password, the user should be able to login with either Facebook or email + password combination.
[ ] From a users profile page, Set a password (almost like creating an account) after solely logging in with Facebook (the accounts should be linked, but the talkdust account at this point now has a stored password instead of fully relying on Facebook, will use the primary email linked to the Facebook account)
[ ] From a users profile page, sync their facebook profile picture/swap out the default avatar
[ ] From a users profile page, sync their facebook name with the default title/alias (anonymous)
[ ] Should be able to chat in a chat room as someone who only logs in with Facebook
[ ] Should be able to chat in a chat room as someone who can log in with both Facebook and Talkdust credentials
[ ] Should be able to chat in a chat room as someone who only has Talkdust credentials
[ ] Should be able to subscribe to a topic as someone who only logs in with Facebook
[ ] Should be able to subscribe to a topic as someone who only logs in with both Facebook and Talkdust credentials
[ ] Should be able to subscribe to a topic as someone who only has Talkdust credentials
[ ] Documentation on Mongo storage schema should exist after this task
Upon completion of this task a user should be able to do the following: