Skip to content

Commit 8c63e04

Browse files
committed
docs: improve readability of README
The README describes the installation of the host tooling on a per-browser level. As the steps are almost identical, we group them to reduce the amount of duplicated text. We further improve the readability by re-ordering some aspects to stress that the extension consists of both native and browser parts. Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
1 parent 761a07d commit 8c63e04

File tree

1 file changed

+38
-61
lines changed

1 file changed

+38
-61
lines changed

README.md

Lines changed: 38 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,27 @@ This browser extension uses a locally running Microsoft Identity Broker to authe
99
By that, also sites behind conditional access policies can be accessed.
1010
The extension is written for Firefox but provides a limited support for Google Chrome, Chromium and Thunderbird.
1111

12-
## Pre-conditions
13-
14-
This extension will only work on intune-enabled Linux devices. Please double
15-
check this by running the `intune-portal` application and check if your user
16-
is logged in (after clicking `sign-in`).
17-
Also make sure to install the host components (see *Installation* below).
12+
> [!NOTE]
13+
> This extension will only work on intune-enabled Linux devices. Please double
14+
> check this by running the `intune-portal` application and check if your user
15+
> is logged in (after clicking `sign-in`).
1816
1917
## Installation
2018

19+
The extension consists of two parts:
20+
21+
- a host program that communicates with the Microsoft Identity Broker via DBus
22+
- a WebExtension that injects the acquired tokens into the corresponding requests
23+
24+
### Dependencies
25+
2126
The extension requires [PyGObject](https://pygobject.gnome.org/) and [pydbus](https://github.com/LEW21/pydbus) as runtime dependencies.
2227

2328
- On Debian: `sudo apt-get install python3-gi python3-pydbus`
2429
- On Arch Linux: `sudo pacman -S python-gobject python-pydbus`
2530
- If you are using a Python version manager such as `asdf` you must install the Python packages manually: `pip install PyGObject pydbus`
2631

27-
**Note:** System-wide installation and configuration is supported. For more information, see [Global Install](docs/global_install.md).
28-
29-
### Firefox & Thunderbird: Signed Version from GitHub Releases
30-
31-
You can download a **signed version** of the browser extension directly from our [GitHub Releases](https://github.com/siemens/linux-entra-sso/releases).
32-
33-
> This package includes only the **browser extension**. The **host tooling** must still be installed manually.
34-
35-
#### Installation Steps
32+
### Installation of Host Tooling
3633

3734
1. Clone this repository:
3835

@@ -41,70 +38,49 @@ $ git clone https://github.com/siemens/linux-entra-sso.git
4138
$ cd linux-entra-sso
4239
```
4340

44-
2. Run the local install command:
41+
2. Run the local install command (for the intended target):
4542

4643
```bash
44+
$ # Firefox & Thunderbird
4745
$ make local-install-firefox
46+
$ # Chromium, Chrome and Brave
47+
$ make local-install-chrome
48+
$ # All supported browsers
49+
$ make local-install
4850
```
4951

50-
3. Download the extension file:
51-
52-
Get the `linux_entra_sso-<version>.xpi` file from the [project's releases page](https://github.com/siemens/linux-entra-sso/releases).
53-
54-
> If you are installing for Thunderbird, right-click the link and select "Save Link As..." to avoid installing it in Firefox.
55-
56-
4. Enable required permissions:
57-
58-
After installing the extension, enable the following permission:
59-
60-
Access your data for `https://login.microsoftonline.com`.
61-
To support transparent re-login on applications using this identity provider, you need to grant permission for these domains as well.
62-
For details, see [PRIVACY.md](PRIVACY.md).
63-
64-
### Chrome & Brave: Signed Extension from Chrome Web Store
65-
66-
You can install the signed browser extension from the [Chrome Web Store](https://chrome.google.com/webstore/detail/jlnfnnolkbjieggibinobhkjdfbpcohn), which works for both **Google Chrome** and **Brave Browser**.
67-
68-
> **Note:** This only installs the browser extension. You still need to install the host integration manually.
69-
70-
#### Installation Steps:
71-
72-
1. Clone this repository:
73-
74-
```bash
75-
$ git@github.com:siemens/linux-entra-sso.git
76-
$ cd linux-entra-sso
77-
```
78-
79-
2. Run the local install command:
52+
> [!NOTE]
53+
> System-wide installation and configuration is supported. For more information, see [Global Install](docs/global_install.md).
8054
81-
```bash
82-
$ make local-install-chrome # command for Chrome Browser
83-
$ make local-install-brave # command for Brave Browser
84-
```
55+
### Installation of WebExtension
8556

86-
3. Install the extension file:
57+
To complete the setup, install the WebExtension in your browser. This is necessary alongside the host tooling for the extension to function properly.
8758

88-
- [linux-entra-sso](https://chromewebstore.google.com/detail/linux-entra-sso/jlnfnnolkbjieggibinobhkjdfbpcohn)
59+
**Firefox & Thunderbird: Signed Version from GitHub Releases**:
60+
Install the signed webextension `linux_entra_sso-<version>.xpi` from the [project's releases page](https://github.com/siemens/linux-entra-sso/releases).
61+
If you are installing for Thunderbird, right-click the link and select "Save Link As..." to avoid installing it in Firefox.
8962

90-
### Development Version and Other Browsers
63+
**Chromium, Chrome & Brave: Signed Extension from Chrome Web Store**:
64+
Install the signed browser extension from the [Chrome Web Store](https://chrome.google.com/webstore/detail/jlnfnnolkbjieggibinobhkjdfbpcohn).
9165

66+
**Development Version and Other Browsers**:
9267
If you want to execute unsigned versions of the extension (e.g. test builds) on Firefox, you have to use either Firefox ESR,
9368
nightly or developer, as [standard Firefox does not allow installing unsigned extensions](https://support.mozilla.org/en-US/kb/add-on-signing-in-firefox#w_what-are-my-options-if-i-want-to-use-an-unsigned-add-on-advanced-users)
9469
since version 48.
9570

96-
To build the extension and install the host parts, perform the following steps:
71+
To build the extension, perform the following steps:
9772

98-
1. clone this repository
99-
2. run `make local-install-<firefox|chrome|brave>` to install the native messaging app in the user's `.mozilla` (or Chrome) folder
100-
3. run `make` to build the extension (For Firefox, `build/<platform>/linux-entra-sso-*.xpi` is generated)
101-
4. Firefox only: Permit unsigned extensions in Firefox by setting `xpinstall.signatures.required` to `false`
102-
4. Chrome only: In extension menu, enable `Developer mode`.
103-
5. Install the extension in the Browser from the local `linux-entra-sso-*.xpi` file (Firefox). On Chrome, use `load unpacked` and point to `build/chrome`
104-
6. Enable "Access your data for `https://login.microsoftonline.com`" under the extension's permissions
73+
1. run `make` to build the extension (For Firefox, `build/<platform>/linux-entra-sso-*.xpi` is generated)
74+
2. Firefox only: Permit unsigned extensions in Firefox by setting `xpinstall.signatures.required` to `false`
75+
3. Chrome only: In extension menu, enable `Developer mode`.
76+
4. Install the extension in the Browser from the local `linux-entra-sso-*.xpi` file (Firefox). On Chrome, use `load unpacked` and point to `build/chrome`
10577

10678
## Usage
10779

80+
After installing the extension, you might need to manually grant the following permission:
81+
82+
- Access your data for `https://login.microsoftonline.com`.
83+
10884
**No configuration is required.** The SSO is automatically enabled.
10985
If you want to disable the SSO for this session, click on the tray icon and select the guest account.
11086
In case you are already logged in, you might need to clear all cookies on `login.microsoftonline.com`.
@@ -124,6 +100,7 @@ To grant the necessary permissions, follow these steps:
124100

125101
Once configured, no further authentication requests will be needed.
126102
To revoke permissions, return to the extension's settings and select the domain again.
103+
For details, also see [PRIVACY.md](PRIVACY.md).
127104

128105
### Technical Background
129106

0 commit comments

Comments
 (0)