Table of Contents

Search

  1. Preface
  2. Introduction
  3. IDD Concepts
  4. Implementation Process
  5. IDD Configuration Manager
  6. Manual IDD Configuration
  7. IDD Global Properties
  8. Sizing and Platform Requirements
  9. Application Components
  10. IDD Security Configuration
  11. Data Security
  12. Example Role-Based Security Configuration
  13. Data Masking
  14. Siperian BPM Workflow Engine
  15. Locale Codes
  16. Troubleshooting
  17. Glossary

Data Director Implementation Guide

Data Director Implementation Guide

Custom Login Provider with External Login Form

Custom Login Provider with External Login Form

If a particular authentication mechanism requires a non-IDD login page, then the implementation of Custom Login Provider must use the interface methods listed and described in the following table:
Interface Method Name
Description
initialize
IDD calls this method before any other method of the Login Provider implementation and passes a set of properties that describe the context of execution. In IDD, these properties contain an entry, which can be referenced as LoginProvider. The property SSO_POST_REDIRECT_PAGE_PROPERTY contains the URL of the jsf page that can POST data to external login provider. A Login Provider implementation might use this page to redirect IDD to External Login Page using POST method.
isUseIDDLoginForm
This method must return FALSE.
redirectToProviderLoginPage
This method must form URL to external login form and call redirection to that page. You can also redirect to external login page using the POST method.
extractLoginCredentials
IDD invokes this method when a new user authentication request arrives. If the request contains information from external identity provider, such as request parameters, and cookies, then this method must extract them and return the LoginCredentials (com.siperian.bdd.security.LoginCredentials) instance with properly filled fields. If the request does not contain authentication information, then the method must return NULL.
encodeComponentUrl
This method is not implemented as user name and password is requested by external login form that IDD does not recognize.
onLogout
This method is called when a user logs out. It can run a logout on external identity provider and cleanup parameters defined by the requestLoginCredentials method.
getLogoImageBody
This method must return NULL.
After a successful login, you are directed to the IDD main page or the Informatica Data Controls (IDC) component page, depending on your initial request.
Also, you can bypass external authentication by using the
internal_login_form=true
parameter in the IDD URL that displays the IDD login.
For example,
http://localhost:8080/bdd?internal_login_form=true
In this case, the user name and password is checked against the list of MDM Hub users.

Pass Credentials to External Link

If you need to embed external links into IDD and the links use the same SSO provider (for example, SalesForce.com) as the installed Custom Login Provider, then use this method for adding authentication information to the link URL. If no information is added, then the method should return the same URL string that was passed to it as a parameter or null.
Example:
Assume that you implement LoginProvider for work with SalesForce.com.
You also define the external link with URL
https://na7.salesforce.com/home/home.jsp
to see the home page of the SalesForce.com account embedded in the IDD screen.
The encodeComponentUrl method receives this URL and converts it to the following:
https://na7.salesforce.com/secur/frontdoor.jsp?sid=<SFDC_API_SESSIONID>&retUrl=https://na7.salesforce.com/home/home.jsp
After this transformation, an Iframe in the IDD page displays the requested home page without redirection to the SalesForce login form.

Using a POST Page

IDD uses the POST page to redirect users to an external login page. This page is submitted after it is loaded to the client.
The source of the page uses the JSF requestScope predefined variable to access the parameters described in the following table:
Parameter Name
Usage
providerGateURL
Must be a string value. It defines the URL where the form will be submitted (form action).
authParameters
It is a map of key–value pairs. Each value pair is used for creating hidden input. Map entry key is used as the input name and value as input field value.
In the following example, the postRedirectPageUrl variable is set up during a call to an initialize method:
public void redirectToProviderLoginPage(HttpServletRequest httpRequest, HttpServletResponse httpResponse, String returnUrl) throws LoginProviderException { RequestDispatcher dispatcher = httpRequest.getRequestDispatcher(postRedirectPageUrl); httpRequest.setAttribute( PROVIDER_GATE_URL_ATTR, authReq.getOPEndpoint() ); httpRequest.setAttribute( AUTH_PARAMETERS_ATTR, authReq.getParameterMap() ); dispatcher.forward( httpRequest, httpResponse ); }
To send a redirect to the new page on logout, you can add the following code to the redirectToProviderLoginPage() method:
if("gotoLogoutPage".equalsIgnoreCase(httpRequest.getParameter("logoutParam"))){ try { httpResponse.sendRedirect("http://www.google.com/"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
The onLogout() method writes code in the response as shown in the following example:
{\"logoutURL\":\"/mdm/entity360view/?logoutParam=gotoLogoutPage\",\"kerberos\":\"true\"}

0 COMMENTS

We’d like to hear from you!