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..5b845b9f2 --- /dev/null +++ b/javascript-injectors/examples/arcgis-signin-via-credentials.js @@ -0,0 +1,31 @@ +(function () { + const username = '' + const password = '' + + const authLocation = '/portal/sharing/rest/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() + } +})()