Sun OpenSSO Enterprise 8.0 Developer's Guide

Customizing the Federation Graphical User Interface

The Federation Service uses JavaServer PagesTM (JSPTM) to define its look and feel. JSP are HTML files that contain additional code to generate dynamic content. More specifically, a JavaServer page contains HTML code to display static text and graphics, as well as application code to generate information. When the page is displayed in a web browser, it contains both the static HTML content and, in the case of the Federation component, dynamic content retrieved through calls to the Federation API. An administrator can customize the look and feel of the interface by changing the HTML tags in the JSP but the invoked APIs must not be changed.

After a default installation, the JSP are located in /path-to-context-root/opensso/config/federation/default. The files in this directory provide the default content to the Liberty ID-FF Federation capability. To customize the pages for a specific organization, this default directory can be copied and renamed to reflect the name of the organization (or any value). This directory would then be placed at the same level as the default directory, and the files within this directory would be modified as needed. The following table lists the JSP including details on what each page is used for and the invoked API that cannot be modified.

Table 6–1 Federation JSP and Invoked Interfaces

JSP Name 

Description 

CommonLogin.jsp

Displays a link to the local login page as well as links to the login pages of the trusted identity providers. This page is displayed when a user is not logged in locally or with an identity provider. com.sun.liberty.LibertyManager is the invoked interface. The list of identity providers is obtained by using the getIDPList(hostedProviderID) method.

Error.jsp

Displays an error page when an error has occurred. com.sun.liberty.LibertyManager is the invoked interface.

Federate.jsp

When a user clicks a federate link on a provider page, this page displays a drop-down list of all providers with which the user is not yet federated. com.sun.liberty.LibertyManager is the invoked interface. The list is constructed with the getProvidersToFederate(realm,providerID,providerRole,userName) method.

FederationDone.jsp

Displays the status of a federation (success or cancelled). com.sun.liberty.LibertyManager is the invoked interface. It checks the status with the isFederationCancelled(request) method.

Footer.jsp

Displays a branded footer that is included on all the pages. No APIs are invoked. 

Header.jsp

Displays a branded header that is included on all the pages. No APIs are invoked. 

ListOfCOTs.jsp

Displays a list of circles of trust. When a user is authenticated by an identity provider and the service provider belongs to more than one circle of trust, this page displays and the user is prompted to select a circle of trust as their preferred domain. In the case that the provider belongs to only one domain, this page will not be displayed. com.sun.liberty.LibertyManager is the invoked interface. The list is obtained with the getListOfCOTs(providerID) method.

LogoutDone.jsp

Displays the status of the local logout operation. com.sun.liberty.LibertyManager is the invoked interface.

NameRegistration.jsp

When a federated user clicks a Name Registration link on a provider page to register a new Name Identifier from one provider to another, this JSP is displayed. com.sun.liberty.LibertyManager is the invoked interface.

NameRegistrationDone.jsp

Displays the status of NameRegistration.jsp. When finished, this page is displayed. com.sun.liberty.LibertyManager is the invoked interface.

Termination.jsp

When a user clicks a defederate link on a provider page, this page displays a drop-down list of all providers with which the user has federated and from which the user can choose to defederate. com.sun.liberty.LibertyManager is the invoked interface. The list is constructed with the getFederatedProviders(userName) method which returns all active providers to which the user is already federated.

TerminationDone.jsp

Displays the status of federation termination (success or cancelled). com.sun.liberty.LibertyManager is the invoked interface. Status is checked using the isTerminationCancelled(request) method.