E
dit
A
ttach
P
rintable
r19 - 2023-09-08 - 12:00:49 -
ShubjitNaik
You are here:
TWiki
>
Deployment Web
>
DeploymentInstallingUpgradingAndMigrating
>
JazzAuthorizationServer
>
LogoutJASSAMLOIDC
<div id="header-title" style="padding: 10px 15px; border-width:1px; border-style:solid; border-color:#FFD28C; background-image: url(<nop>https://jazz.net/wiki/pub/Deployment/WebPreferences/TLASE.jpg); background-size: cover; font-size:120%"> ---+!! Configure Single Sign-On and Single Sign-Out for ELM configured with a SAML or OIDC Provider <img src="https://jazz.net/wiki/pub/Deployment/WebPreferences/new.png" alt="new.png" width="50" height="50" align="right"> %DKGRAY% Authors: Main.ShubjitNaik <br> Build basis: Engineering Lifecycle Management and Jazz Authorization Server 7.0.2 and Higher %ENDCOLOR%</div></sticky> <!-- Page contents top of page on right hand side in box --> <sticky><div style="float:right; border-width:1px; border-style:solid; border-color:#DFDFDF; background-color:#F6F6F6; margin:0 0 15px 15px; padding: 0 15px 0 15px;"> %TOC{title="Page contents"}% </div></sticky> <sticky><div style="margin:15px;"></sticky> Jazz Authorization Server (JAS) is a Liberty !OpenID Connect Provider and it can be configured to further delegate authentication to a [[JASandSAML][SAML Identity Provider]] or a [[JASandOIDCProvider][Third Party OIDC Provider]]. The expectation is for Single Sign-On and Sign-Out to work between ELM and non-ELM applications that are both configured to use the same Provider. The focus on this Article is on Single Sign-On and Logout. It is assumed that you have configured JAS with either a SAML !IdP or a Third Party OIDC Provider. ---++ JAS configured with a SAML !IdP ---+++ Configuring Single Sign-On The default configuration of JAS configured with SAML !IdP indicates the !IdP to force the user to re-authenticate. We would need to change this configuration for SSO to work between ELM and Non-ELM applications. Steps to update the configuration: * Edit =appConfig.xml= file located at =[JAS_HOME]\wlp\usr\server\jazzop\appConfig.xml= * Search for =samlWebSso20= section and update the parameter _forceAuthn_ to =forceAuthn="false"= and add parameter _spLogout="true"_ <verbatim> <samlWebSso20 id="defaultSP" spCookieName="jazzop_sso_cookie_idp" forceAuthn="false" authFilterRef="samlAuthFilter" spLogout="true" > </samlWebSso20></verbatim> * Test Single Sign-On between ELM and Non-ELM applications ---+++ Configuring Single Sign-Out You would need to perform the following additional configuration changes in JAS. * First confirm if the SAML =idpMetadata.xml= file contains =HTTP-POST= binding for =SingleLogoutService=. IBM Liberty only supports SAML SSO with =HTTP-POST= Bindings and not =HTTP-Redirect= Binding. * [[https://www.ibm.com/docs/en/was-liberty/nd?topic=authentication-saml-20-web-browser-single-sign][IBM WebSphere Liberty SAML Documentation]] * An example entry looks like this <verbatim><md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://mysaml.example.com/mysaml/slo" /> </verbatim> * Next Upgrade the Liberty profile for JAS to 23.0.0.6 or higher * Download Liberty version 23.0.0.6 https://www.ibm.com/support/pages/fix-list-ibm-websphere-application-server-liberty * Upgrade Jazz Authorization Server - https://www.ibm.com/support/pages/node/6445491 * Edit =appConfig.xml= file located at =[JAS_HOME]\wlp\usr\server\jazzop\appConfig.xml= * Search for =samlWebSso20= section and change the =spCookieName= parameter value from =jazzop_sso_cookie_idp= to example =liberty_saml_idp_sso_cookie= or to any name of your choice. <verbatim> <samlWebSso20 id="defaultSP" spCookieName="liberty_saml_idp_sso_cookie" forceAuthn="false" authFilterRef="samlAuthFilter" spLogout="true" > </samlWebSso20></verbatim> * Add =/end_session= to the Authentication Filter =requestUrl= <verbatim> <authFilter id="samlAuthFilter"> <requestUrl id="samlRequestUrl" urlPattern="/authorize|/end_session" matchType="contains" /> <userAgent id="samlUserAgent" agent="Mozilla|Opera" matchType="contains"/> </authFilter></verbatim> ---+++ Configuring Single Sign-Out when SAML !IdP does not support HTTP-POST =This workaround would work if you can directly access the SAML !IdP Logout URL= There are instances where SAML !IdP does not support HTTP-POST for =SingleLogoutService= and/or the above instructions does not work. You could follow the workaround mentioned below, which are additional configuration in ELM. * Request your Administrator to share the SAML !IdP Logout URL that can be accessed directly * Sample logout URL for example Microsoft ADFS =https://adfs.example.org/adfs/ls/?wa=wsignout1.0= * In each ELM application =jts, ccm, qm, rm, gc and dcc= perform the following: * Access Advanced Properties =https://[ELM_URL]/[app]/admin#action=com.ibm.team.repository.admin.configureAdvanced= * Search for the property =Web Logout URI= and update the value with the Logout URL received * Search for the property =Trusted URIs for client authorization and redirection= and update the value with the Logout URL received * Test Logout from ELM Applications ---++ JAS configured with a Third Party OIDC Provider ---+++ Configuring Single Sign-On When ELM is configured with a Third Party OIDC Provider , no changes are needed. ---+++ Configuring Single Sign-Out With the default configurations the Logout operations from ELM does not complete. You would need to perform the following additional configuration in ELM. =This workaround would work if you can directly access the OIDC Logout URL= * Request your Administrator to share the OIDC Logout URL * Sample logout URL from a customer =https://preprod.example.com/ui/oidcclient/logout= * In each ELM application =jts, ccm, qm, rm, gc and dcc= perform the following: * Access Advanced Properties =https://[ELM_URL]/[app]/admin#action=com.ibm.team.repository.admin.configureAdvanced= * Search for the property =Web Logout URI= and update the value to the Logout URL received * Search for the property =Trusted URIs for client authorization and redirection= and update the value with the Logout URL received * Test Logout from ELM Applications ---++ Testing After applying the Single Sign-On and Sign Out configurations mentioned in the previous steps, following are the results * Single Sign-On is achieved between ELM and Non-ELM applications * Logout from an ELM Application will logout via the !IdP logout URL and all other ELM Applications are logged out * Logout from a Non-ELM application - ELM applications are NOT logged out immediately * Post the SSO timeout which is set to 2 hours by default (can be changed), the applications are redirected to the !IdP and existing sessions are logged out <br> ---+++++!! Related topics: [[JazzAuthorizationServer][Jazz Authorization Server Landing Page]], [[JASandOIDCProvider][Configure ELM with a Third Party OIDC provider]] ---+++++!! External links: * [[https://www.ibm.com][IBM]] <sticky></div></sticky>
E
dit
|
A
ttach
|
P
rintable
|
V
iew topic
|
Backlinks:
We
b
,
A
l
l Webs
|
H
istory
: r19
<
r18
<
r17
<
r16
<
r15
|
M
ore topic actions
Deployment
Deployment web
Planning and design
Installing and upgrading
Migrating and evolving
Integrating
Administering
Monitoring
Troubleshooting
Community information and contribution guidelines
Create new topic
Topic list
Search
Advanced search
Notify
RSS
Atom
Changes
Statistics
Web preferences
NOTE: Please use the Sandbox web for testing
Status icon key:
To do
Under construction
New
Updated
Constant change
None - stable page
Smaller versions of status icons for inline text:
Copyright © by IBM and non-IBM contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our
Terms of Use.
Please read the following
disclaimer
.
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more
here
.