Office SharePoint Server 2007 (aka MOSS2007), like SharePoint Portal Server 2003 before it, offers a built-in Web Part for integration with Outlook Web Access (aka OWA). Unfortunately, this Web Part has a number of limitations:

  • It needs to be configured manually by the user in order to specify the OWA URL as well as the Inbox name
  • It requires Windows Integrated Authentification for single sign-on (SSO) between SharePoint and OWA; this is fine in Intranet environments, but less practical in Extranet scenarios, where you will probably be using Forms or even Basic authentication

There are already some good posts on the subject, for example this post on Renaud Comte's blog

For a recent project, I have written a couple of Web Parts that try to solve this problem. The approach I have used is a bit devious: both Web Parts will simulate an actual OWA login (in an IFrame) by filling in an HTML form replicating all the input fields of the original OWA login form; the form is automatically submitted using JavaScript, and the user is automatically signed in to OWA.

The first Web Part will use the credentials from the HTTP Basic authentication headers.

The second Web Part leverages MOSS' SSO service. It requires that you already have configured the SSO service, with a service name of "OWA" (but you can easily change that in the source code).

Beware: both Web Parts will currently transmit the credentials to the IFrame in the clear, in the URL (as GET parameters).

The attached ZIP file contains the Visual Studio 2005 project.

You will find in the root directory two HTML files containing the OWA login forms, that are used by the Web Parts as the target of the IFrame. You should copy the appropriate file (either OWARedirect_2003.htm or OWARedirect_2007.htm) to your SharePoint's "layouts" directory, and rename the file to OWARedirect.htm. Don't forget to point the target for the form to your own OWA URL!

This is obviously a hack, but here's hoping it will help somebody one day :-)