Authors: Ranvijay Singh and Nishant Singhai
Follow the same steps which is given in this cook book “Cookbook for IBM Security Access Manager 9.0 and IBM Security Identity Governance and Intelligence 5.2”
Cookbook Link :--
http://developer.ibm.com/identitydev/wp-content/uploads/sites/55/2017/04/ISAM9-IGI52-integration-Cookbook-v1.4.pdf
Instead of using the http transformation RULE given for Ideas Realm in above doc , copy and paste this below contents in the file , replace only hostname with yours WebSeal host name and upload the same.
NOTE :-- Make sure your have created users in IGI for admin Roles and account for that is available in ISAM
NOTE :-- Use this file at the place of Ideas Realm to do rest of the continuations
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<!--
This is a template stylesheet which should be used as a guide when
using WebSEAL's HTTP Transformation engine. This sample is relevant to
a request only.
-->
<!-- Firstly, strip any space elements -->
<xsl:strip-space elements="*" />
<!--
Perform a match on the root of the document. Output the required
HTTPRequestChange elements and then process templates.
-->
<xsl:template match="/">
<HTTPRequestChange>
<xsl:apply-templates />
<!-- Perform Object Name processing here. Output should be in the form
<ObjectName>VALUE</ObjectName>
if required. -->
</HTTPRequestChange>
</xsl:template>
<!--
Match on the Method. Any Method processing should happen within this
template.
-->
<xsl:template match="//HTTPRequest/RequestLine/Method">
<!-- Process the Method here. Output should be in the form
<Method>METHOD</Method>
if required. -->
</xsl:template>
<!--
Match on the URI. Any URI processing should happen within this
template.
-->
<xsl:template match="//HTTPRequest/RequestLine/URI">
<xsl:choose>
<xsl:when test="node()='/ideas'">
<HTTPResponseChange action="replace">
<Version>HTTP/1.1</Version>
<StatusCode>302</StatusCode>
<Header name="location" action="add">
https://www.sso.ibm.com/ideas/desk?realm=Admin
</Header>
<Body>%3Chtml%3E%3C%2Fhtml%3E</Body>
</HTTPResponseChange>
</xsl:when>
<xsl:when test="node()='/ideas/'">
<HTTPResponseChange action="replace">
<Version>HTTP/1.1</Version>
<StatusCode>302</StatusCode>
<Header name="location" action="add">
https://www.sso.ibm.com/ideas/desk?realm=Admin
</Header>
<Body>%3Chtml%3E%3C%2Fhtml%3E</Body>
</HTTPResponseChange>
</xsl:when>
<xsl:when test="node()='/ideas/desk'">
<HTTPResponseChange action="replace">
<Version>HTTP/1.1</Version>
<StatusCode>302</StatusCode>
<Header name="location" action="add">
https://www.sso.ibm.com/ideas/desk?realm=Admin
</Header>
<Body>%3Chtml%3E%3C%2Fhtml%3E</Body>
</HTTPResponseChange>
</xsl:when>
<xsl:when test="node()='/ideas/desk/'">
<HTTPResponseChange action="replace">
<Version>HTTP/1.1</Version>
<StatusCode>302</StatusCode>
<Header name="location" action="add">
https://www.sso.ibm.com/ideas/desk?realm=Admin
</Header>
<Body>%3Chtml%3E%3C%2Fhtml%3E</Body>
</HTTPResponseChange>
</xsl:when>
<xsl:when test="node()='/ideas?realm=IDEAS'">
<HTTPResponseChange action="replace">
<Version>HTTP/1.1</Version>
<StatusCode>302</StatusCode>
<Header name="location" action="add">
https://www.sso.ibm.com/ideas/desk?realm=Admin</Header>
<Body>%3Chtml%3E%3C%2Fhtml%3E</Body>
</HTTPResponseChange>
</xsl:when>
</xsl:choose>
</xsl:template>
<!--
Match on the Version. Any Version processing should happen within this
template.
-->
<xsl:template match="//HTTPRequest/RequestLine/Version">
<!-- Process the Version here. Output should be in the form
<Version>VERSION</Version>
if required. -->
</xsl:template>
<!--
Match on the Headers. Any Header processing should happen within this
template.
-->
<xsl:template match="//HTTPRequest/Headers">
<xsl:choose>
<xsl:when test="Header/@name='realm'" />
<xsl:otherwise>
<Header action="add" name="realm">ADMIN</Header>
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates select="//HTTPRequest/Headers/Header" />
</xsl:template>
<!--
Match on the Cookies. Any Cookie processing should happen within this
template.
-->
<xsl:template match="//HTTPRequest/Cookies">
<!-- Perform Cookie processing here. Output should be in the form
<Cookie name="NAME" action="add|update|remove">VALUE</Cookie>
if required. -->
</xsl:template>
<!--
Match the request scheme. Any processing should happen within
this template.
-->
<xsl:template match="//HTTPRequest/Scheme">
<!-- This is a variable that indicates whether the request was http or https. -->
</xsl:template>
</xsl:stylesheet>
Add this below contents in “application.xml” file and upload the same on IGI
<DESK>
<REALM name="Admin" label="ADMIN" isDefault="true" enableHeaderAuth="true"/>
</DESK>
Take a restart of IGI Application and now you’ll be able to access admin console using SSO .
If some how you observe any issues , navigate to below log file and check error message
Configure IGI - > Manage Server Settings - > Custom File Management -> logs – Console -> desk_console.log