I think you are coming, it is a sound; what you are actually doing is replacing the username and password authentication with the resulting facebook id and passing that id as a valid id in your application.
You say that you will need to create a password in your application, of which I am absolutely sure. It is true that you will need to create your user with a password in relation to the ASP.NET membership provider, but you can choose to fill in a random string if you want users to log in using facebook connections.
The decision about which facebook attribute to bind also deserves attention. The natural choice is, of course, the facebook identifier, since this does not correspond to the user, but if you decide to allow other verification mechanisms later - google open id for one - you can also use saving email from facebook, etc.
It might also be a good idea to automatically generate a username in your application that is not defined on facebook. If you select the facebook identifier as the login, you will have a strong dependence on facebook, which makes it difficult to introduce new identity providers. If you choose a random id and an association table that links facebook id to your id, you will also get some flexibility later. Choosing a more restrictive email address may be a better choice if you want to have meaningful results from ASP.NET login controls such as LoginStatus, etc.
source share