-
Notifications
You must be signed in to change notification settings - Fork 39
Add doc about linux broker on dotnet scenario #646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add doc about linux broker on dotnet scenario #646
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Learn Build status updates of commit 83ccb15: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
|
||
## Dependency | ||
|
||
To use the broker, you will need to install a list of dependencies on Linux platform |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we also include a step that explains how to install msalruntime nuget package for linux as it is a necessary step for broker support
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Show resolved
Hide resolved
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
This comment was marked as outdated.
This comment was marked as outdated.
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Show resolved
Hide resolved
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
Learn Build status updates of commit d83a3a4: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
Learn Build status updates of commit 4a28d7e: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
Learn Build status updates of commit 23e7903: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
|
||
## Prerequisites | ||
|
||
To use the broker, you'll need to install a list of dependencies on the Linux platform: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should also note/link to the user on the fact that dotnet is required to be installed for the sample. Perhaps we can consolidate a "prep step" that calls out below:
sudo apt install seahorse libx11-dev
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Justin, I added the .net installation part and the version requirement, could you help take a look again? Thanks
Learn Build status updates of commit 934edbc: 💡 Validation status: suggestions
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
For more details, please refer to the build report. Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them. For any questions, please:
|
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Outdated
Show resolved
Hide resolved
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
…ker-net.md Co-authored-by: Scott Addie <[email protected]>
Learn Build status updates of commit ddffeae: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
Learn Build status updates of commit 749cb8d: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
Learn Build status updates of commit 65ce187: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
msal-dotnet-articles/acquiring-tokens/desktop-mobile/linux-broker-net.md
Show resolved
Hide resolved
Learn Build status updates of commit b5c37a3: ✅ Validation status: passed
For more details, please refer to the build report. For any questions, please:
|
> [!NOTE] | ||
> Microsoft single sign-on (SSO) for Linux authentication broker support is introduced with `Microsoft.Identity.Client` version v4.69.1. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this note should be removed. Instead, add the following .NET CLI commands to the Prereqs section below with minimum required versions:
dotnet add package Microsoft.Identity.Client
dotnet add package Microsoft.Identity.Client.Broker
|
||
## Prerequisites | ||
|
||
MSAL.NET project requires .NET version greater or equal than the version specified in [global.json](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/blob/main/global.json) file, we recommend register the Microsoft package repository and install .NET, please follow the instructions here: [Install .NET on Ubuntu](/dotnet/core/install/linux-ubuntu-decision#register-the-microsoft-package-repository). And please make sure you have all the [.NET required dependencies](/dotnet/core/install/linux-ubuntu-decision#dependencies) installed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It isn't clear to me why I should care about what the MSAL.NET project requires.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the part in which it recommends registering the Microsoft Package Repo and install .NET from it, cause Ubuntu has its own feed and it took me a while to install net8.0.4.
} | ||
``` | ||
|
||
We recommend play with the sample app using your client id. To run the sample app, use the following command: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We recommend play with the sample app using your client id. To run the sample app, use the following command: | |
We recommend playing with the sample app using your client ID. To run the sample app, use the following command: | |
On Debian-based distributions, you can install the package by running `sudo apt install seahorse` and then following these instructions: | ||
|
||
1. Run `seahorse` in the terminal. | ||
2. In the top left corner, click **+** and create **Password** keyring. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2. In the top left corner, click **+** and create **Password** keyring. | |
2. In the top left corner, select **+** and create **Password** keyring. |
Using an authentication broker on Linux enables you to simplify how your users authenticate with Microsoft Entra ID from your application, as well as take advantage of future functionality that protects Microsoft Entra ID refresh tokens from exfiltration and misuse. | ||
|
||
Authentication brokers are **not** pre-installed on Linux but is bundled as a dependency of applications developed by Microsoft, such as [Company Portal](/mem/intune-service/user-help/enroll-device-linux). These applications are usually installed when a Linux computer is enrolled in a company's device fleet via an endpoint management solution like [Microsoft Intune](/mem/intune/fundamentals/what-is-intune). To learn more about Linux device set up with the Microsoft Identity Platform, refer to [Microsoft Enterprise SSO plug-in for Apple devices](/entra/identity-platform/apple-sso-plugin). | ||
An authentication broker is **not** pre-installed on standalone Linux but is bundled as a dependency of applications developed by Microsoft, such as [Company Portal](/mem/intune-service/user-help/enroll-device-linux). These applications are usually installed when a Linux computer is enrolled in a company's device fleet via an endpoint management solution like [Microsoft Intune](/mem/intune/fundamentals/what-is-intune). For [Windows Subsystem for Linux](/windows/wsl/about) (WSL) scenario, WAM (Windows Account Manager) is used as the broker. WAM does come pre-installed on the Windows system. To learn more about Linux device set up with the Microsoft Identity Platform, see [Microsoft Enterprise SSO plug-in for Apple devices](/entra/identity-platform/apple-sso-plugin). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To learn more about Linux device set up with the Microsoft Identity Platform, see Microsoft Enterprise SSO plug-in for Apple devices.
Could you clarify how this doc for Apple devices is helpful for Linux machines?
|
||
## Prerequisites | ||
|
||
MSAL.NET project requires .NET version greater or equal than the version specified in [global.json](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/blob/main/global.json) file, we recommend register the Microsoft package repository and install .NET, please follow the instructions here: [Install .NET on Ubuntu](/dotnet/core/install/linux-ubuntu-decision#register-the-microsoft-package-repository). And please make sure you have all the [.NET required dependencies](/dotnet/core/install/linux-ubuntu-decision#dependencies) installed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the part in which it recommends registering the Microsoft Package Repo and install .NET from it, cause Ubuntu has its own feed and it took me a while to install net8.0.4.
``` | ||
|
||
### Set up Keyring in WSL | ||
We use libsecret on Linux and it needs to communicate with keyring daemon. Users can use `seahorse`(gnome GUI) package to manage the keyring with a user interface. You need to first install the package by `apt install seahorse` and then follow the instructions below. | ||
MSAL uses `libsecret` on Linux. It is required to communicate with the `keyring` daemon. Users can use [Seahorse](https://wiki.gnome.org/Apps/Seahorse/) (a GNOME application for managing encryption keys and passwords) to manage the `keyring` contents through a Graphical User Interface (GUI). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It could be helpful to add more details on how Keyring plays a role with the library and WAM. Keyring might be confused with WAM in some way.
No description provided.