Ok, So I got this sort of working!
The answer is a combination of the answers below plus some mucking around with the controllers and views.
First download DotNetOpenAuth and then navigate to the samples directory where you can find the OpenIdRelayingPartyMvc code.
In my NerdDinner solution,
- I added a reference to the DotNetOpenAuth assembly
- added new a "UserController" and copied in the code from the sample's UserController
- added the correct using statements and changed the namespace to reflect NerdDinner.Controllers
- recreated similar "User" views from the sample, changing them appropriately to reflect the site master content id's.
- added an xrds view under the home controller. (not sure what this does yet)
- changed the index and add the Xrds ActionResult methods in the HomeController to reflect the sample.
- changed the web.config file (in root folder) Authenticate section to change the login path to the new UserController and Login method
- Change the "LogOnUserControl" ActionLinks to point to the new UserControl and "Login" and "Logout" methods.
- muck around with the various views that directly call the log on functionality
Right now this works in a limited way. I can logon and interact with the NerdDinner app with an OpenID. So that's cool. However some functionality doesn't yet work. Saving a created dinner doesn't work but it doesn't hang either. I'll have to investigate how to migrate some of the membership functionality in AccountController to UserController. I'll update this post (suggestions and pointers welcome).