The CreatorCon Call for Content is officially open! Get started here.

SAML 2.0 - need help with RelayState issue - not working when a session is already open

Tom Sienkiewicz
Mega Sage

Hi,

We have SAML 2.0 configured (client uses ADFS 2.0) to include a relay state in the URL. The problem is with deep linking from email notifications.

What happens is, if the user does not have a browser open / ServiceNow session running - they get authenticated properly and taken to the deep link page (in this case, my_approvals in service portal). However, if they already did that once or simply have SN open in a browser, any subsequent link from notification ends up on the main page instead of the correct deep link page.

It looks like the Relay State is only processed correctly the first time and any subsequent links get 'trimmed'... it is beyond my level of competence regarding ADFS so any help would be greatly appreciated.

The link in the notification is constructed as below (<> are replaced with real values of course):

https:// adfs.<CLIENTNAME>.ag/adfs/ls/IdpinitiatedSignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252F<INSTANCE>.service-now.com%26RelayState%3Dhttps://<INSTANCE>.service-now.com/service_management/my_approvals.do

Any suggestions? thanks a lot!

14 REPLIES 14

User143205
Giga Contributor

Not sure if my reply is too late for you. But ServiceNow has a fix for this.

This issue was reported in PRB1237672 and the fix is available in the form of a system property.

In-order to activate this fix, please add/enable the following system property

System Property name: glide.authenticate.honor.relaystate.for.loggedin.sessions
System Property type: true|false
System Property value: true

Once the property is active, then you will not get redirected to homepage of ServiceNow which is Navpage.do as per SSO configurations. It will always redirect to the RelayState URL.

Hello Mukul,

 

it is never to late!

Thanks for sharing with the related Problem number .... 

Regards

Miguel

That fixed it for us as well.  Thanks for the info.

Thank you so much Mukul! I've been struggling with this issue for a while now and adding this sys_property finally resolved it for me.

If this answer is helpful please mark correct and helpful!

Regards,
Chris Perry

Hello

I am also facing the same issue, i tried creating the property in our instance(paris) and still it did not work, Can you please suggest