DotNetOpenAuth

Classic ASP OpenID Relying Party

Visit the Members Only area. (This will trigger a login demo).

Required steps for this sample to work on your own machine:

Although classic ASP cannot access .NET assemblies directly, it does know how to call COM components.  DotNetOpenAuth exposes a COM server to allow classic ASP and other COM clients to utilize it for easy OpenID support. The DotNetOpenAuth.dll assembly must be registered as a COM server on each development box and web server in order for COM clients such as classic ASP to find it.

To register DotNetOpenAuth as a COM server, complete these steps.

  1. At an administrator command prompt, navigate to a directory where the DotNetOpenAuth assembly is found.
  2. Register DotNetOpenAuth as a COM server:
    %windir%\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe /tlb DotNetOpenAuth.dll
    Note that you may need to copy System.Web.Mvc.dll into the same directory as dotnetopenauth.dll if it is not already in your GAC.
  3. Install DotNetOpenAuth into the GAC.  The gacutil.exe tool may be in an SDK directory, which will be in your path if you opened a Visual Studio Command Prompt.
    gacutil.exe /i DotNetOpenAuth.dll
    Be sure to use a gacutil.exe that comes from a .NET 2.0-3.5 directory (not .NET 1.x).
  4. If your web server is running 64-bit Windows, you'll also need ensure that the application pool is enabled for 32bit applications. Using IIS Manager, select the appropriate application pool (e.g. "DefaultAppPool" unless you've created some new ones). Click "Advanced Settings", and ensure that "Enable 32bit Applications" is set to True. This setting takes effect immediately, so there's no need to recycle the application pool.

Another thing to be aware of is that with classic ASP there is no Web.config file in which to customize DotNetOpenAuth behavior.  And the COM interfaces that DotNetOpenAuth exposes are a very limited subset of full functionality available to .NET clients.  Please send feature requests to DotNetOpenId@googlegroups.com.