Modern Chrome Web Extension and Firefox Browser Addon for Automatic Basic HTTP Authentication with many Options and Features.
To take it for a test drive, install the addon and head over to: https://authenticationtest.com/HTTPAuth/
then enter the username user
and password pass
All Chromium Based Browsers can install the extension from the Chrome Web Store.
- Save Logins for HTTP Basic Authentication
- Automatically Login with Saved Credentials
- Option to Ignore Specific Hosts
- Notification on Invalid Credentials
- View, Delete and Edit Saved Credentials
- Option to Ignore Proxy Authentication
- Option to Temporarily Disable
- Ability to Import/Export Credentials
- Toolbar Status for Enabled Hosts
- Icon Colors for Extension Status
- Save Multiple Credentials for a Single Host
- Manually Add Saved Credentials
- Toggle to Match Any Port for Host
Long-term Goals for Improved Security:
- Add Optional Password Encryption Feature
- Add a Sync Service for Cross-Browser Synchronization
Tip
Don't see your feature here? Request one on the Feature Request Discussion.
- Only allows saving 1 set of credentials per host
- Most browsers will offer to save passwords on login and edit
- A 401 response from a Service Worker is not properly intercepted:
- Firefox: Shows a generic 401 page, use
Ctrl+F5
- Once credentials are saved, requests will work as normal.
- Chrome: Shows a default credentials prompt, Cancel and press
Ctrl+F5
- This behavior may continue after saving credentials.
- Firefox: Shows a generic 401 page, use
Tip
Don't see your issue here? Open one on the Issues.
You can pin the Addon by clicking the Puzzle Piece
, find the Auto Auth icon, then;
Chrome, click the Pin
icon.
Firefox, click the Settings Wheel
and Pin to Toolbar
.
To open the options, click on the icon (from above) then click Open Options
.
You can also access Options
through the right-click context menu (enabled by default).
Migration Guides from Other Web Extensions and manual import instructions.
AutoAuth | Basic Authentication | Other or Manual
Firefox: Migration from: steffanschlein/AutoAuth
- Open Addons Management (about:addons)
Ctrl+Shift+A
- Find AutoAuth, click the 3 dots, then click Options
- Open Developer Tools
Ctrl+Shift+I
and go to Console tab - Enter the following code:
await browser.storage.local.get()
- Right-click on the resulting output and choose
Copy Object
- Go to the Options Page (for this extension) and click
Import Text
- Paste the copied text into the textarea and click
Import
Chrome: Migration from: Basic Authentication
- Go To this URL:
chrome-extension://nanfgbiblbcagfodkfeinbbhijihckml/options.html
- Open Developer Tools
Ctrl+Shift+I
and go to Console tab - Enter the following code:
await chrome.storage.local.get()
- Right-click on the resulting output and choose
Copy Object
- Go to the Options Page (for this extension) and click
Import Text
- Paste the copied text into the textarea and click
Import
Note: Basic Authentication uses url match patterns vs hostnames. This import will attempt to parse the match pattern to a hostname; however, if the full hostname is not provided, may not import correctly. You can always edit the credentials manually or save new ones on the next login.
To manually migrate from other data exports you need to convert the data into a compatible JSON format. You can do this yourself, or get ChatGPT to convert the data for you. Convert the data to this JSON format:
{
"example.com": "username:password",
"ignored.example.com": "ignored"
}
To import the data, visit the extension's Options Page, click Import Text
and paste the JSON text.
You can also request a migration be added for your extension. If it is popular enough, it might get added.
Since there is no API to manage or store credentials securely, usernames and passwords are stored in the web extension's sync storage. This will sync your credentials to all browsers you are logged into if sync is enabled for addons. Therefore, any computers you use a synced browser on will write the credentials to the file system in plain text.
If there is enough popularity/requests for these features, there are a couple options to mitigate this:
- Option to switch between sync and local storage to limit credentials to a single computer.
- Option to encrypt credentials using a password that must be entered once every session.
For help using the web extension, see:
- Documentation: https://auto-auth.cssnr.com/docs/
- Q&A Discussion: https://github.com/cssnr/auto-auth/discussions/categories/q-a
- Request a Feature: https://github.com/cssnr/auto-auth/discussions/categories/feature-requests
If you are experiencing an issue/bug or getting unexpected results, you can:
- Report an Issue: https://github.com/cssnr/auto-auth/issues
- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
- Provide General Feedback: https://cssnr.github.io/feedback
Logs can be found inspecting the page (Ctrl+Shift+I), clicking on the Console, and; Firefox: toggling Debug logs, Chrome: toggling Verbose from levels dropdown.
To support this project, see the Contributing section at the bottom.
Quick Start
First, clone (or download) this repository and change into the directory.
Second, install the dependencies:
npm install
Finally, to run Chrome or Firefox with web-ext, run one of the following:
npm run chrome
npm run firefox
Additionally, to Load Unpacked/Temporary Add-on make a manifest.json
and run from the src folder, run one of
the following:
npm run manifest:chrome
npm run manifest:firefox
Chrome: https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world#load-unpacked
Firefox: https://extensionworkshop.com/documentation/develop/temporary-installation-in-firefox/
For more information on
web-ext, read this documentation.
To pass additional arguments to an npm run
command, use --
.
Example: npm run chrome -- --chromium-binary=...
Install the requirements and copy libraries into the src/dist
directory by running npm install
.
See gulpfile.js for more information on postinstall
.
npm install
To create a .zip
archive of the src directory for the desired browser run one of the following:
npm run build
npm run build:chrome
npm run build:firefox
For more information on building, see the scripts section in the package.json file.
- Build or Download a Release.
- Unzip the archive, place the folder where it must remain and note its location for later.
- Open Chrome, click the
3 dots
in the top right, clickExtensions
, clickManage Extensions
. - In the top right, click
Developer Mode
then on the top left clickLoad unpacked
. - Navigate to the folder you extracted in step #3 then click
Select Folder
.
- Build or Download a Release.
- Unzip the archive, place the folder where it must remain and note its location for later.
- Go to
about:debugging#/runtime/this-firefox
and clickLoad Temporary Add-on...
- Navigate to the folder you extracted earlier, select
manifest.json
then clickSelect File
. - Optional: open
about:config
search forextensions.webextensions.keepStorageOnUninstall
and set totrue
.
If you need to test a restart, you must pack the addon. This only works in ESR, Development, or Nightly. You may also use an Unbranded Build: https://wiki.mozilla.org/Add-ons/Extension_Signing#Unbranded_Builds
- Run
npm run build:firefox
then useweb-ext-artifacts/{name}-firefox-{version}.zip
. - Open
about:config
search forxpinstall.signatures.required
and set tofalse
. - Open
about:addons
and drag the zip file to the page or choose Install from File from the Settings wheel.
Currently, the best way to contribute to this project is to give a 5-star rating on Google or Mozilla and to star this project on GitHub.
Other Web Extensions I have created and published:
- Link Extractor
- Open Links in New Tab
- Auto Auth
- Cache Cleaner
- HLS Video Downloader
- SMWC Web Extension
- PlayDrift Extension
- ASN Plus
- Aviation Tools
- Text Formatter
For a full list of current projects visit: https://cssnr.github.io/