DotNetOpenId 1.0 RTW
The culmination of a great deal of work in refactoring, bug fixing and enhancements can be found in the latest .NET implementation of the OpenId library known as DotNetOpenId v1.0. It is free and released under the New BSD license, so give it a try!
Highlights of the new version can be found on the project’s VersionChanges wiki page, but in short it’s much simpler (much smaller public API surface), safer, more extensible, and much better tested.
The huge refactoring job makes it have some breaking changes for upgraders from a previous version, but it should be worth the effort. We’re targeting to have 0 breaking changes between our 1.0 and 2.0 releases.
DotNetOpenId 2.0 Beta
Want OpenId 2.0 support? Try the DotNetOpenId 2.0 beta, also released today and should be officially released as 2.0 RTW shortly. I’d love to hear about your experience.
While you should watch the VersionChanges page for an up-to-date list, here are some of the major features already in or scheduled for the 2.0 release:
- Added support for OpenID 2.0 Relying Parties and Providers, including but not limited to these features:
- Much more comprehensive testing of common scenarios and possible security exploits.
- More comprehensive HTML-based identity discovery.
- Completely stateless mode supported for Relying Parties (not even HttpApplication state).
The OpenId 2.0 spec is a huge improvement in usability and security over the 1.x versions, and I’m very pleased that DotNetOpenId now supports it.
How to get started
Whether you download the source or the releases from the Downloads page, you will get a sample Provider web site and a sample Relying Party web site that should make learning how to add OpenId support to your own web sites using this library very easy. Adding support for your visitors to log in using OpenId couldn’t be easier: drop in an OpenIdLogin control from the library on your page and you’re done. There are certainly many ways you can enhance it after that, but it’s really that easy.
I’ve personally contributed a lot of time and effort to this library, and I would love to hear from you if you like it, or have suggestions on how to enhance it.