Microsoft Edge, Mozilla Firefox and Google Chrome allow the silent installation of Browser Extensions. This way, the users do not have to manually install the Browser Extension themselves, but rather the IT Admins can roll out the Browser Extension in the background via a MDM solution, such as Microsoft InTune, Enteo NetInstall, or Matrix42 Empirum.
Each browser needs to be set up separately.
This article explains the configuration for Firefox on macOS.
Browser Extensions in Firefox can be installed and configured through Enterprise Policies.
Requirements
- Userlane Customer Success Manager needs to provide companyID and information on region
- Admin with access to Browser Installation and Policies
- Userlane Account Admin to set Integrity Token
Steps to Complete the Setup
1. Installation and Configuration
ExtensionInstallForceList browser policy
Add the Userlane Extension (Link for Firefox: https://browser-extension.userlane.com/firefox/userlane.xpi)
to the Extension\Install list: https://github.com/mozilla/policy-templates#extensions
There are 2 ways to achieve this.
Option A: With a plist file:
Example org.mozilla.firefox.plist file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnterprisePoliciesEnabled</key>
<true/>
<key>Extensions</key>
<dict>
<key>Install</key>
<array>
<string>https://browser-extension.userlane.com/firefox/userlane.xpi</string>
</array>
</dict>
</dict>
</plist>
Option B: With a policies.json file
Place a policies.json file inside the Firefox.app container at Firefox.app/Contents/Resources/distribution/policies.json.
Example policies.json file:
{
"policies": {
"Extensions": {
"Install": [
"https://browser-extension.userlane.com/firefox/userlane.xpi"
]
}
}
}
Browser Policy Configuration
(1) Firefox Extensions are configured through Managed Storage Manifests: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_manifests#Managed_storage_manifests.
Example managed storage manifest .json file::
{
"name": "{9f6832a6-ec0c-11e8-8eb2-f2801f1b9fd1}",
"description": "Config for the Userlane Extension in Firefox",
"type": "storage",
"data": {
"companyId": "abc",
"companyIntegrity": "xyz"
"region": "eu"
}
}
}
Attention: "region" key is used to define where your Userlane Application is hosted:
- If the Userlane Application is hosted in the EU, the corresponding value for "region" is "eu".
- If the Userlane Application is hosted in the US, the corresponding value for "region" is "us".
Place this .json file anywhere on the client.
(2) For Firefox to find the file, we need to add it’s path to a Registry Key: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_manifests#Manifest_location. The Name of the Userlane Extension for Firefox is {9f6832a6-ec0c-11e8-8eb2-f2801f1b9fd1}.
2. Verification
Visit
moz-extension://EXTENSION_INTERNAL_UUID/options/index.html?stay#/nativeconfig, where EXTENSION_INTERNAL_UUID can be found on about:debugging#/runtime/this-firefox
page:
for example: moz-extension://b6c3cff5-7f22-4a44-8f35-7296b53f2a14/options/index.html?stay#/nativeconfig
Please note that the Internal UUID is always unique.