Logging in with Google, Facebook etc but using the same account

Let's say a user logs in to a site with their Facebook account, then later decides to log in with their Google account. Should a separate account be created for each method of login or should the user be able to log in to the same account using various login methods? If the later, how would it be recognised that it's the same person logging is using a different method? Or, would the option to merge one account with another be better? Is there a best practice for this situation?