From f8bed4464ae3406ec31fa6301fa8b4ef77c3bf39 Mon Sep 17 00:00:00 2001 From: iamlawrenceonoja Date: Thu, 23 Nov 2023 04:34:14 +0100 Subject: [PATCH 1/2] Added JS injector for ArcGIS --- images/arcgis-logo.svg | 1 + javascript-injectors/README.md | 9 +++++- .../examples/arcgis-signin-via-credentials.js | 31 +++++++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 images/arcgis-logo.svg create mode 100644 javascript-injectors/examples/arcgis-signin-via-credentials.js diff --git a/images/arcgis-logo.svg b/images/arcgis-logo.svg new file mode 100644 index 000000000..d7d1e84b7 --- /dev/null +++ b/images/arcgis-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/javascript-injectors/README.md b/javascript-injectors/README.md index 69bd1808c..91e365234 100644 --- a/javascript-injectors/README.md +++ b/javascript-injectors/README.md @@ -228,9 +228,16 @@ $ screenly asset inject-js "$ASSET_ID" "$JAVASCRIPT_URL" * Download [zabbix-login-via-credentials.js](https://github.com/Screenly/Playground/tree/master/javascript-injectors/examples/zabbix-login-via-credentials.js) and modify it with your credentials. * Run `screenly asset inject-js "$ASSET_ID" /path/to/script.js` to add the JavaScript -## Sign in to Dynatrace via credentials +## Sign in to Dynatrace via credentials arcgis-logo.svg Dynatrace logo * Download [dynatrace-login-via-credentials.js](https://github.com/Screenly/Playground/tree/master/javascript-injectors/examples/dynatrace-login-via-credentials.js) and modify it with your credentials. * Run `screenly asset inject-js "$ASSET_ID" /path/to/script.js` to add the JavaScript + +## Sign in to ArcGIS via credentials + +ArcGIS logo + +* Download [arcgis-signin-via-credentials.js](https://github.com/Screenly/Playground/tree/master/javascript-injectors/examples/arcgis-signin-via-credentials.js) and modify it with your credentials. +* Run `screenly asset inject-js "$ASSET_ID" /path/to/script.js` to add the JavaScript diff --git a/javascript-injectors/examples/arcgis-signin-via-credentials.js b/javascript-injectors/examples/arcgis-signin-via-credentials.js new file mode 100644 index 000000000..d9aa7eee9 --- /dev/null +++ b/javascript-injectors/examples/arcgis-signin-via-credentials.js @@ -0,0 +1,31 @@ +(function () { + const username = '' + const password = '' + + const authLocation = '/portal/sharing/oauth2/authorize' + + function setValue (selector, value) { + const element = document.querySelector(selector) + element.value = value + element.dispatchEvent(new Event('change')) + } + + function submitForm () { + document.querySelector('button[id="signIn"]').click() + } + + function login () { + try { + setValue('input[name="username"]', username) + setValue('input[name="password"]', password) + submitForm() + } catch (error) { + console.warn(error) + setTimeout(login, 3000) + } + } + + if (window.location.pathname === authLocation) { + login() + } +})() From b18d1beb98cbd0b787c670f9dce40ec28b729cd2 Mon Sep 17 00:00:00 2001 From: Lawrence Onoja <107477122+iamlawrenceonoja@users.noreply.github.com> Date: Fri, 1 Dec 2023 12:16:35 +0100 Subject: [PATCH 2/2] Update arcgis-signin-via-credentials.js --- javascript-injectors/examples/arcgis-signin-via-credentials.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/javascript-injectors/examples/arcgis-signin-via-credentials.js b/javascript-injectors/examples/arcgis-signin-via-credentials.js index d9aa7eee9..5b845b9f2 100644 --- a/javascript-injectors/examples/arcgis-signin-via-credentials.js +++ b/javascript-injectors/examples/arcgis-signin-via-credentials.js @@ -2,7 +2,7 @@ const username = '' const password = '' - const authLocation = '/portal/sharing/oauth2/authorize' + const authLocation = '/portal/sharing/rest/oauth2/authorize' function setValue (selector, value) { const element = document.querySelector(selector)