Linking to .NET Passport Services
Linking to .NET Passport Services
Microsoft .NET Passport provides several service pages for .NET Passport users. The exact list of services is maintained in the Component Configuration Document (CCD) and includes URLs for Customer Service, Account Info, Member Services and related services. These service pages contain links that enable users to easily navigate to related services. These service pages exist in addition to pages normally used for Login, Registration, and Update.
Do not hard code URLs to .NET Passport service pages. Instead, use the GetDomainAttribute method of the Passport Manager. This method, when passed a string that is one of the .NET Passport service attributes listed later in this topic, will return the URL of the requested member service. You can then place a link to the URL on your page to allow users to navigate to the service page.
Some of the services allow the user to perform the desired Member Services action and then redirect the user back to a page on your site after the service is complete. For example, Edit Profile allows a user to link back to the calling site after the edit is complete. Other pages can be cobranded based on your .NET Passport Site ID. Registration pages provide a return link based on returnURL, and also display the cobranding for the supplied Site ID. Append the following query string parameters to any service URL (obtained using GetDomainAttribute) to specify the Site ID that should be used for cobranding and the return URL to which the user should be redirected when the service is complete.
- id
The Site ID.
- ru
The URL on your site to which the connecting user should be returned after changing profile data (when the user clicks the Done button on Edit Profile pages).
The exact behavior of Member Services pages may vary. Not all Member Services pages will necessarily require the query string variables or enable users to return to your site afterwards. The Partner.xml file that contains these URLs is subject to change at any time, because it is dynamically configurable and is used to synchronize all participating sites to changes that occur on the .NET Passport network. This is why you must use the GetDomainAttribute method instead of hard coding URLs. For more information, see Component Configuration Document.
Policies on Linking to .NET Passport Services
When linking to .NET Passport services, be aware of the following policies.
- On your site, any customer support pages that relate to .NET Passport should display a link to the Customer Services home page. This URL can be obtained using a PassportManager.GetDomainAttribute("CUSTOMERSERVICE") call.
- Any page that allows users to edit or augment their existing core profile should also display a link to the Edit Profile page. This URL can be obtained using a GetDomainAttribute("EDITPROFILE") call.
- Any Help topics that relate to .NET Passport can link to the Customer Services home page. This URL can be obtained using a GetDomainAttribute("CUSTOMERSERVICE") call.
Attributes Used with GetDomainAttribute
The following table lists the attributes you can use when calling the GetDomainAttribute method, and descriptions of the results of those calls.
Help Pages Contain End-User Documentation for Various Common .NET Passport Tasks
Each of these pages is HTML-format documentation that can be called by a site as required.
Attribute name
Description
"COOKIES"
Top-level explanation of cookies and why .NET Passport requires them to be enabled.
"HELP"
General Help root.
"HELPSIGNINGIN"
"HELPSIGNINGINOPTIONS"
For particular questions about the sign-in procedure. In most cases, problems with sign-in occur while users are still viewing a domain authority-served page, such as the Sign-In page itself.
"HELPSIGNINGUP"
For new users who have questions about registering as .NET Passport users, and in particular for those who have questions about why it is necessary to obtain a .NET Passport to continue viewing the .NET Passport-enabled pages of your site.
"HOWSECURE"
"SECURECONNECTIONS"
Top-level end-user explanation of .NET Passport's security mechanisms, and of why Secure Sockets Layer (SSL) is required.
"PRIVACYPOLICY"
For users who have questions about how .NET Passport uses user-provided data.
"SITEDIRECTORY"
Contains a list of all sites currently using .NET Passport single sign-in (SSI).
"TERMSOFUSE"
Microsoft .NET Passport's Terms of Use.
"WHATISPASSPORT"
A documentation page that explains .NET Passport services to the end user.
Example: Obtaining a .NET Passport service URL as a String
Use the GetDomainAttribute method of the Passport Manager object to insert a .NET Passport service URL in your site pages. This example retrieves the .NET Passport Edit Profile URL used for editing .NET Passport profile data. Note the inclusion of the lcid parameter in the GetDomainAttribute method call; this parameter can be used to display service URLs in different languages. In this case, the requested language is the language that a .NET Passport user has specified to be his or her default language within the .NET Passport profile.
<% Dim oMgr, SiteID, thisURL, qs Dim oWshShell Set oMgr = Server.CreateObject("Passport.Manager") Set oWshShell = Server.CreateObject("WScript.Shell") 'to access registry entries SiteID = oWshShell.RegRead("HKLM\Software\Microsoft\Passport\SiteId") thisURL = "https://"& Request.ServerVariables("SERVER_NAME") & _ Request.ServerVariables("SCRIPT_NAME") qs = "?id=" & SiteID & "&ru= " & Server.URLEncode(thisURL) %> <AHREF="<%=oMgr.GetDomainAttribute("EDITPROFILE",oMgr("Lang_Preference")) & qs%>">Go To Passport Edit Profile</A>