添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Dear Experts!

I have a client script on instanceA that opens instanceB's login page in a pop-up window. I want to wait for the user to log in, once done, close the pop-up and reload/redirect the original/parent page to somewhere.

The pop-up shows instanceB and I can log in just fine, but the rest of my script is not proceeding because of the error. This means I can not automatically close the pop-up and refresh the page.

Error: Uncaught DOMException: Blocked a frame with origin " instanceA.service-now.com " from accessing a cross-origin frame.

ps.: If the pop-up points the user to the same instance, everything works like a charm

(...)
var params = 'scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=300,height=300,left=100,top=100';
var loginWin = window.open("https://instanceB.service-now.com/login", "instanceB", params);
(...)

As far as I understand, I'd probably need to create CORS rules on instanceB to allow instanceA to do it's thing - but I am failing to do so.

Can any of you point me in the right direction? CORS rule wants me to select a REST API... What would be that in my case?

EDIT: Copying over some information from one of my comments:

Some background info:

  • We have 2 instances
  • Some specific Agents mostly work in instanceA
  • Occasionally they have to log into instanceB with their LOCAL accounts
  • I want to speed up the process so that the login page of instanceB is shown as a pop-up within instanceA's browser tab
  • While on the login page, they can use their password manager to automatically type in their credentials
  • After the login was successfull, I want to close the pop-up and redirect the Agents to a calculated URL within instanceB in the parent window (where instanceA used to be)

After clicking the UI Action:

The script can not proceed with the closure of the pop-up and the redirection of the user because the error stops the execution.

I would like to emphasize that during development the pop-up pointed to the SAME instance and it was all fine. The issue only happened when I finalized my code and changed the pop-up to a different instance (a domain of a different origin)

Based on Google I came to the conclusion that I'd need CORS rules to enable Cross-Origin Resources to be run. I am not able to set these rules up in our ServiceNow instances because the documentation is not really telling me anything and I am unfamiliar with the topic.

Obviously if CORS rules are not the way to go just please also feel free to tell me..

Hi Gabor


unfortunately it is not really clear what your issue is.

You are asking for a solution, but you did not explain WHY you want to go the described way and what your goal is.

Kind regards
Maik

Thank you for the response.


Some background info:

  • We have 2 instances
  • Some specific Agents mostly work in instanceA
  • Occasionally they have to log into instanceB with their LOCAL accounts
  • I want to speed up the process so that the login page of instanceB is shown as a pop-up within instanceA's browser tab
  • While on the login page, they can use their password manager to automatically type in their credentials
  • After the login was successfull, I want to close the pop-up and redirect the Agents to a calculated URL within instanceB in the parent window (where instanceA used to be)

After clicking the UI Action:

The script can not proceed with the closure of the pop-up and the redirection of the user because the error stops the execution.

I would like to emphasize that during development the pop-up pointed to the SAME instance and it was all fine. The issue only happened when I finalized my code and changed the pop-up to a different instance (a domain of a different origin)

Based on Google I came to the conclusion that I'd need CORS rules to enable Cross-Origin Resources to be run. I am not able to set these rules up in our ServiceNow instances because the documentation is not really telling me anything and I am unfamiliar with the topic.

Obviously if CORS rules are not the way to go just please also feel free to tell me..

sounds to me like over-engineering and I am not sure if the effort justifies the little bit more benefit

Why don't you just open a new window with the URL in Instance B? ServiceNow will automatically offer the login page and after successful login ServiceNow will redirect to the target page automatically.

Kind regards
Maik

[UI Builder and Service Operations Workspace] iFrame component content loading issue in Developer forum Widget Develop in another IDE in Developer forum How to use JQuery in Service Portal Widgets? in Developer forum Getting a Bootstrap 5-based Carousel to work in Service Portal. in Developer forum