Using a Basic Template in FreeForm Designer
This section describes how to use a basic template in freeform designer to set up SSO. For more information about setting up and testing SSO, see Single Sign-On and Cross-Domain Single Sign-On.
In IG Studio, create a route:
Go to http://openig.example.com:8080/openig/studio, and select Create a route.
Select Freeform to use the freeform designer.
Select Basic to create a route from a blank template.
Select Advanced options on the right, and create a route with the following options:
Base URI:
http://app.example.com:8081
Condition: Path:
/home/sso-ff
Name:
sso-ff
The route is displayed on the Flow tab of the canvas. Select the All Objects tab to view a list of objects in the route.
Double-click on any object to review or edit it. After double-clicking on an object, select the Decorations tab to decorate it.
Configure authentication with a SingleSignOnFilter:
Select the Flow tab, and delete the connector between Start and ReverseProxyHandler.
From the side bar, drag a Chain onto the canvas, and then drag a SingleSignOnFilter into the chain.
In the Edit SingleSignOnFilter page, click , and create an AM service, with the following values:
URI:
http://openam.example.com:8088/openam
Agent: The credentials of the agent you created in AM.
Username:
ig_agent
Password:
password
Connect Start to Chain-1, and Chain-1 to ReverseProxyHandler.
On the top-right of the screen, select and Display to review the route.
The following route is displayed:
{ "name": "sso-ff", "baseURI": "http://app.example.com:8081", "condition": "${matches(request.uri.path, '^/home/sso-ff')}", "handler": "Chain-1", "heap": [ { "name": "ReverseProxyHandler", "type": "ReverseProxyHandler" }, { "type": "BaseUriDecorator", "name": "baseUri" }, { "type": "TimerDecorator", "name": "timer", "config": { "timeUnit": "ms" } }, { "type": "CaptureDecorator", "name": "capture", "config": { "captureEntity": false, "captureContext": false, "maxEntityLength": 524288 } }, { "name": "Chain-1", "type": "Chain", "config": { "handler": "ReverseProxyHandler", "filters": [ "SingleSignOnFilter-1" ] } }, { "name": "AmService-1", "type": "AmService", "config": { "url": "http://openam.example.com:8088/openam", "realm": "/", "agent": { "username": "ig_agent", "password": "password" }, "sessionCache": { "enabled": false } } }, { "name": "SingleSignOnFilter-1", "type": "SingleSignOnFilter", "config": { "amService": "AmService-1" } } ] }
Select Deploy to push the route to the IG configuration.
You can check the
$HOME/.openig/config/routes
folder to see that the route is there.