The main advantage of logging in with your Facebook account is not having to remember your username and password.
Thus for your website, you almost always do want to have the user's e-mail address. The procedure we use at our projects is:
- User clicks on Facebook logo
- User fills out the form provided by Facebook (in a popup)
- After successfully filling out the form, the user gets redirected to our regular signup page where they choose a user name and e-mail address and submits
- A confirmation e-mail is triggered (standard double opt-in)
Deleting the connection or reconnecting can then be done on the user settings page.
The advantages for both user and the website are
- The step to set a password can be optional and at any place you want it, as there's no password needed for logging in (just be sure you don't allow disconnecting without a password - users would get locked out otherwise)
- The user is less likely to abandon the form if it's shorter and they're already past step 1
- Users usually remember that they registered by connecting with Facebook, so there are less multiple accounts per user (a lot of users just create a second account if it's a website where they don't store much information and just use the features)
- Websites have a definite e-mail address to contact the user and don't have to guess if the proxied e-mail address provided by Facebook is valid
- If there's a password set, the user has the possibility to log in using Facebook or their e-mail address and password. By relying solely on Facebook you'll run into the problem of users that aren't able to access their account on your website because they deleted their Facebook account. This kind of dependence should be avoided.