Possible Design Flaw

Jun 5, 2010 at 12:50 AM


This webpart seems to have a major design flaw. The problem is related to the lifetime of the SLT. Microsoft passport services is issuing an SLT with a fixed 5 minute lifetime (the loginSeconds property in the GetSLT method does not change the SLT lifetime - this was confirmed with MS Live@EDU support).

The design flaw is in the way the webpart is handling the SLT. The webpart is acquiring the SLT's for the enabled services as part of its initialization. This happens typically when the page is loaded or refreshed. The webpart then uses the SLT's to create redirect URL's that are assigned to the buttons. If a user clicks on one of those within 5 minutes of the page load or reload, all is well. Unfortunately, if the user procrastinates and clicks on a button after 5 minutes from a page load/reload the redirect fails and the MS login service returns the error:

We're unable to complete your request
Windows Live ID is experiencing technical difficulties. Please try again later.

If the user reloads the sharepoint page, the webpart will re-initialize and will grab new SLT's. Now the user will have 5 more minutes to click on the buttons.

The proper way to use the service is to grab the SLT when the user is actually requesting the service (when they click on the button), and immediately afterward redirect the user to the proper destination service.