I would vote for no 3 for flexibility (I also has users that has 2 accounts due to fb login). But the following is some other consideration :
Correct me if I am wrong as I am just a rookie, but I think the issue above can be solved if we can agree on the common parameter between joomla user dan FB user. Most FB users are using their emails as their login names and all joomla users should have entered their email data when they registered.
So mapping shall be unique : having the same email address. If a joomla user with <!-- e --><a href="
This email address is being protected from spambots. You need JavaScript enabled to view it.">
This email address is being protected from spambots. You need JavaScript enabled to view it. email wants to map to his FB with
This email address is being protected from spambots. You need JavaScript enabled to view it.">This email address is being protected from spambots. You need JavaScript enabled to view it., all he needs to do is changing his email data in joomla to
This email address is being protected from spambots. You need JavaScript enabled to view it.">This email address is being protected from spambots. You need JavaScript enabled to view it..
Now, the next problem is getting email data from FB user :
If we can not get the email data from FB, is it possible to get the email data from the user directly by requiring user to use their email adress as their login name. If this is possible than :
- we should have a single login/password form for both joomla and FB users. ( I don't think joomla user would mind to login using their email address as their login name.)
- To give user option either to login using Jomla or FB, we can give options using radio button perhaps in the login module.
- When a user is keying in their FB username(mostly in form of email address) & password, the module will check first whether this email is already registered in joomla dbase. If it is, then that joomla username (won't be used anymore anyway for logging in) will automatically be mapped with this fb user(confirmation from user can also be an option). If it is not, then a new joomla user shall be created using the email address entered or if the user opts not to sync then leave it unsync-ed.
- Only after the above process is done, then the username & password keyed in is passed to FB to continue FB login process. (Pulling avatar & other data @ first sync or going to invite page for non-first login)
- When a user is keying in their joomla username (now in form of email address), system will check whether combination of email and password keyed-in can log user in FB. - If it can, then user can be given sync option.
Ofcourse in both cases, the system shall check prior to any of the above process, whether the user mapped already. If already mapped, then we shall skip all the sync options above.
One thing I am not very sure of is whether we can pass username & password drawn from joomla forms to FB and make the user logged in.