CCCTech Center SSO Proxy Integration with PortalGuard
Problem
You want to integrate PortalGuard with the CCCTech Center SSO Proxy as required by the California Community Colleges Chancellor's Office.
Solution
Download and modify the PortalGuard Relying Party Template for the CCCTech Center SSO Proxy. This template will act as a starting point for the pilot integration, as recommended by the CCCTech Center.
Quick Navigation
Pre-Requisites and Caveats
Before you can integrate with the CCCTech Center SSO Proxy, you must complete the following Pre-Requisites:
Configure PortalGuard for Single Sign-On
If you have not already done so, please follow the steps in this KB Article to configure your PortalGuard Server for SSO
PortalGuard MUST be externally accessible over HTTPS
Your User Repository (Typically Active Directory) MUST have an attribute that contains the 'cccid' value.
This value needs to be passed to the SSO Proxy as a SAML Claim and you will not be able to proceed without it being available in your environment.
Provide your PortalGuard Metadata File to the CCCTech Center
If you are part of the InCommon Federation, the CCCTech Center will be able to download your Metadata from the Federation.
If you are NOT part of the InCommon Federation, you must provide the CCCTech Center contact with a link to download your PortalGuard Metadata file:
The link to download your PortalGuard Metadata file will follow this format: https://[YOUR.PORTALGUARD.URL]/sso/metadata.ashx
Schedule a Proxy Integration Kick-Off Meeting with the CCCTech Center Support Team
We typically work with Matt Schroeder (mschroeder@ccctechcenter.org)
This meeting will inform the CCCTech Center that you are looking to finalize the integration with PortalGuard - this will also allow the Tech Center to prep the Pilot environment so that you can test your integration before going live.
Download and Install the Relying Party Template
Download the 'ProxyPilot.saml.rp.zip' file attached to this article.
Extract the 'ProxyPilot.saml.rp.xml' file to your PortalGuard Server.
On the PortalGuard Server, copy/move the 'ProxyPilot.saml.rp.xml' file to the Program Files\PistolStar\PortalGuard\Policies folder.
If the Identity Provider Configuration Editor is open, close it completely and reopen to view the new Configuration entry under the SAML Websites tab.
Edit the 'ProxyPilot' entry by highlighting it and clicking the 'Edit' button.
On the General tab, edit the value of the 'Assertion Consumer URL':
The URL should end with MIS followed by a 3 digit number specific to your institution. Update this URL to reflect your specific MIS number.
You can receive this from the CCCTech Center if you do not already know it.
Navigate to the Identity Claims tab
Verify the claims are referencing the correct fields in your User Repository
This template assumes the use of Active Directory or a similar LDAP User Repository
The value after 'String:' references the LDAP field that will be used to populate this claim:
To change the field, simple highlight the claim and click 'Edit'. Update the 'Field Name' value as needed:
Take special care to update the 'CCCID' claim to reference the appropriate field in your AD Environment. This is the last claim in the list.
As noted in the Pre-Requisites and Caveats section above, this field must contain the CCCID value for all users in your environment.
Take special care to update the 'eduPersonAffiliation' claim to reference the appropriate field in your AD environment. This claim should return either 'staff' or 'student'. If you do not have a field in AD that returns one of these two values, please refer to the Sending Different Values for the 'eduPersonAffiliation' Claim When No Such Value Exists in AD section below.
Save the Changes to this Configuration.
Click the 'Apply to Identity Provider' button and click 'Sync' to ensure these changes take effect immediately.
Adding Links for Proxy-Integrated Applications
If you want to create links to Proxy-Integrated applications on your PortalGuard SSO Jump Page, you will need to create new configurations specific to those applications. For each tile that you wish to create, follow the steps below.
On the PortalGuard server, Open the Identity Provider Configuration Editor.
On the SAML Websites tab, click the 'Create' button
Fill in the following fields accordingly:
Name
A display name for your application - this will only be seen in the SAML Websites tab to identify the configuration.
Description
Helpful text for providing more context to whoever may be editing this configuration.
Identifiers
Click on the 'Add' button and put it a random - but unique - string.
This MUST NOT be used as an identifier anywhere else, but does NOT need to relate to the application.
Assertion Consumer URL
The URL to the Application via the Proxy
You can retrieve the appropriate URL from the CCCTech Center team.
Navigate to the Identity Claims tab.
Click the 'Create' button to create a new claim using bogus information:
This claim is purely to allow PortalGuard to save the configuration. The information entered here will NOT be sent out.
Navigate to the IdP-Initiated tab.
Enter a 'Name' and 'Help Text' for the Tile.
The 'Name' value will be the label on the tile as it appears on the SSO Jump page.
The 'Help Text' value will be seen if the user hovers over the tile but does not click on it.
Check the box next to 'IdP-Initiated SSO not directly supported by RP'
Enter the Proxy-enabled URL for the application.
This can be copied/obtained from step #3 above.
Save the configuration.
Click the 'Apply to Identity Provider' button and click 'Sync' to ensure these changes take effect immediately.
Login to PortalGuard and navigate to the SSO jump page. Click on the new tile to test the SSO to the application directly.
Sending Different Values for the 'eduPersonAffiliation' Claim When No Such Value Exists in AD
On the PortalGuard server, open the Identity Provider Configuration Editor.
Click on the 'General IdP Settings' button.
Navigate to the Response tab.
Check the box labeled 'Allow Duplicate SAML/WS-Fed/CAS Identifiers?'
Save these settings.
Edit the 'ProxyPilot' configuration under the SAMLWebsites tab and change the name to 'ProxyPilot-Staff' or something similar.
This configuration will return 'staff' as a static value for the 'eduPersonAffiliation' claim.
Navigate to the Identity Claims tab.
Edit the 'eduPersonAffiliation' claim:
Update the 'Value Type' dropdown to 'Formatted String'.
Under the Formatted sub-tab, set the value of the 'Composite Value Format' field to 'staff' (without the quotation marks).
Save these changes to the claim.
Navigate to the Authorization tab.
Click on the 'Add' button.
Search for a Group, OU, or User that should always have the 'staff' affiliation when authenticating against the CCCTech Center SSO Proxy.
You can only add one entry per search, but you can have multiple entries - with any mix of OU, Group, or individual user.
IMPORTANT NOTE: There can be no overlap with users that should always have the 'student' affiliation when authenticating against the CCCTech Center SSO Proxy. The Authorization on both relying parties MUST be distinctly limiting. If a user attempts to authenticate who matches both policies, they will not be able to be able to successfully authenticate to the Proxy.
If you have users that need both 'staff' and 'student' affiliations, a multivalued claim in AD will need to be created and referenced within the relying party.
Navigate to the General tab and double-click the only value present in 'Identifiers'. Copy the value to your clipboard.
Save the Configuration.
Under the SAMLWebsites tab of the Identity Provider Configuration Editor, highlight the 'ProxyPilot-Staff' entry and click on the 'Copy' button.
Give the new relying party a name of 'ProxyPilot-Students'.
Next to 'Identifiers' click the 'Add' button and paste in the value copied from step #15 above.
Navigate to the Identity Claims tab and edit the 'eduPersonAffiliation' claim.
Change the value of the 'Composite Value Format' field to 'student' (without the quotation marks).
Navigate to the Authorization tab and add the Groups, OUs, or individual users that should always have the 'student' affiliation when authenticating against the CCCTech Center SSO Proxy.
Pay special attention to the IMPORTANT NOTE above, as the same conditions apply here.
Save the configuration.
If you see a popup with a title of 'Duplicate Entry' when attempting to save, that means you have not configured your Authorization tab properly. Please review and save.
Click on the 'Apply to Identity Provider' button and then 'Sync' on the next screen to ensure these changes take effect immediately.