Because I wanted to make it possible for users to register/login to my application using Facebook, I created my first AuthenticationProvider. Basically, I first authenticate the Facebook-user, using an open source Facebook SDK (from codeplex), and then I use the built-in membership-provider and authentication from DNN/ASP.NET to sign in the user. Of course, if there's no user present in the DB, with the corresponding Facebook-ID, I create one first.
Now, this all seems to work, but I'm having doubts if I need an AuthenticationProvider for this? I created a custom (regular) login-module in the past, and it seems to be a lot more flexible for UI-changes. Now, with my Facebook-AuthenticationProvider, I have the problem that there are default controls/buttons; "Register", "Retrieve Password" and "Remember Login", which I don't need.
Is my assumption correct: you only need to create a AuthenticationProvider, if you use an authentication that differs from the default FormsAuthentication for example? If not, you can just create a regular module?