How to redirect an email link to a second SSO?

adrian_d
Kilo Contributor

Hello Everyone. I'm working on a project to implement SN (Jakarta); we've hit an issue that we cannot seem to be able to resolve. It relates to email links and SSO.

- There are two SSOs setup - SSO1 for internal users and SSO2 for external users coming from an external website which is also the SSO providing authentication. These external users are directed to CSM.

- SSO 1 is set as default and everything works perfect, including all redirects and scenarios.

- SSO2 however doesn't... in a particular scenario. User opens a CASE; a notification email is then sent to all parties involved, including the User. If the User is authenticated/logged in and clicks on the link sent in the email, all is good... the User end up where he/she should. If the User is NOT authenticated/logged in he/she ends up to the ServiceNow login page.

The desired behavior is to have the user redirected to the external website/SSO2 provider login page.

WHAT WAS TRIED

We've looked at glide.email.override.url but we cannot modify it because it is set to point to SSO1.

We have tested a few approaches via the "Login Page" attribute; empty redirects to the SN login page and "landing" redirects unauthenticated users to the SSO1 login page.

 

Any ideas on how we can achieve the desired redirect behavior?

Thank you in advance!

2 REPLIES 2

adrian_d
Kilo Contributor

This was resolved by editing the case_url_on_portal script; the glide_sso_id=<your_sso_id> was included in the email notification URL.

if(current.getValue('contact')){
		template.print(gs.getProperty('glide.servlet.uri')+'nav_to.do?glide_sso_id=<your_sso_id>&uri=csm%3Fid%3Dcsm_ticket%26table%3Dsn_customerservice_case%26sys_id%3D'+current.getUniqueValue()+'%26view%3Dcsp');

I have a similar issue, but instead I have an SSO I do not want the user to get re-directed to login, I want them to authenticate to the user table only. I tried using the sys_id, but it is not working.

if(current.getValue('contact')){
template.print(gs.getProperty('glide.servlet.uri')+'nav_to.do?glide_id=<your_id>&uri=csm%3Fid%3Dcsm_ticket%26table%3Dsn_customerservice_case%26sys_id%3D'+current.getUniqueValue()+'%26view%3Dcsp');