-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
website/docs: change azure ad to entra id #15691
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
Merged
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
1e885fa
Update sidebar, update doc and files
dewi-tik 27b8577
Update website/docs/users-sources/sources/social-logins/entra-id/inde…
dewi-tik f53e441
Update website/docs/users-sources/sources/social-logins/entra-id/inde…
dewi-tik 61db77d
Update website/docs/users-sources/sources/social-logins/entra-id/inde…
dewi-tik 265022f
Update sidebar, update doc and files
dewi-tik 41831b7
Update website/docs/users-sources/sources/social-logins/entra-id/inde…
dewi-tik 20b72df
Update website/docs/users-sources/sources/social-logins/entra-id/inde…
dewi-tik fd00a24
Update website/docs/users-sources/sources/social-logins/entra-id/inde…
dewi-tik 8c398a0
Merge branch 'website/docs--change-azure-ad-to-entra-id' of https://g…
dewi-tik 02fb2a4
Merge remote-tracking branch 'origin/main' into website/docs--change-…
dewi-tik 049894f
Applied suggestions
dewi-tik f737299
Merge remote-tracking branch 'origin/main' into website/docs--change-…
dewi-tik dc1f79f
Merge remote-tracking branch 'origin/main' into website/docs--change-…
dewi-tik 0f85220
Merge remote-tracking branch 'origin/main' into website/docs--change-…
dewi-tik File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file removed
BIN
-51.5 KB
website/docs/users-sources/sources/social-logins/azure-ad/aad_01.png
Binary file not shown.
Binary file removed
BIN
-88.5 KB
website/docs/users-sources/sources/social-logins/azure-ad/authentik_01.png
Binary file not shown.
135 changes: 0 additions & 135 deletions
135
website/docs/users-sources/sources/social-logins/azure-ad/index.mdx
This file was deleted.
Oops, something went wrong.
94 changes: 94 additions & 0 deletions
94
website/docs/users-sources/sources/social-logins/entra-id/index.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
--- | ||
title: Entra ID | ||
support_level: community | ||
--- | ||
|
||
## Preparation | ||
|
||
The following placeholders are used in this guide: | ||
|
||
- `authentik.company` is the FQDN of the authentik install. | ||
|
||
## Entra ID configuration | ||
|
||
1. Log in to [Entra ID](https://entra.microsoft.com) using a [global administrator](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference#global-administrator) account. | ||
2. Navigate to **Applications** > **App registrations**. | ||
3. Click **New registration** and set the following required configurations: | ||
- **Name**: provide a descriptive name (e.g. `authentik`). | ||
- Under **Supported account types**: select the account type that applies to your use-case (e.g. `Accounts in this organizational directory only (Default Directory only - Single tenant)`). | ||
- Under **Redirect URI**: | ||
- **Platform**: `Web` | ||
- **URI**: `https://authentik.company/source/oauth/callback/entra-id/ | ||
|
||
4. Click **Register**. Once the registration is complete, the **Overview** tab of the newly created authentik app will open. Take note of the `Application (client) ID`. If you selected `Accounts in this organizational directory only (Default Directory only - Single tenant)` as the **Supported account types**, also note the `Directory (tenant) ID`. These values will be needed later when configuring authentik. | ||
5. In the leftmost sidebar, navigate to **Certificates & secrets**. | ||
6. Select the **Client secrets** tab and click **New Secret**. Configure the following required settings: | ||
- **Description**: provide a description for the secret (e.g. `authentik secret`. | ||
- **Expires**: choose an expiration period. As authentik does not yet support automatic secret rotation, either manual rotation or API-based updates are required. As a result, a duration of at least 12 months is recommended. | ||
7. Copy the secret's value from the **Value** column. | ||
|
||
:::note | ||
The secret value is only displayed once at the time of creation. Make sure to copy and store it securely, as it cannot be retrieved later. | ||
::: | ||
|
||
8. In the sidebar, navigate to **API Permissions**, then click **Add a permission** and select **Microsoft Graph** as the API. | ||
9. Select **Delegated permissions** as the permission type and assign the following permissions: | ||
- Under **OpenID Permissions**: select `email`, `profile`, and `openid`. | ||
- Under **Group Member** _(optional)_: if you need authentik to sync group membership information from Entra ID, select the `GroupMember.Read.All` permission. | ||
10. Click **Add permissions**. | ||
11. _(optional)_ If the `GroupMember.Read.All` permission has been selected, under **Configured permissions**, click **Grant admin consent for default directory**. | ||
|
||
## authentik configuration | ||
|
||
To support the integration of Entra ID with authentik, you need to create an Entra ID OAuth source in authentik. | ||
|
||
### Create Entra ID OAuth source | ||
|
||
1. Log in to authentik as an administrator, and open the authentik Admin interface. | ||
2. Navigate to **Directory** > **Federation and Social login**, click **Create**, and then configure the following settings: | ||
- **Select type**: select **Entra ID OAuth Source** as the source type. | ||
- **Create Entra ID OAuth Source**: provide a name, a slug which must match the slug used in the Entra ID `Redirect URI`, and the following required configurations: | ||
- Under **Protocol Settings**: | ||
- **Consumer key**: `Application (client) ID` from Entra ID. | ||
- **Consumer secret**: value of the secret created in Entra ID. | ||
- **Scopes**_(optional)_: if you need authentik to sync group membership information from Entra ID, add the `https://graph.microsoft.com/GroupMember.Read.All` scope. | ||
- Under **URL Settings**: | ||
- For **Single tenant** Entra ID applications: | ||
- **Authorization URL**: `https://login.microsoftonline.com/<directory_(tenant)_id>/oauth2/v2.0/authorize` | ||
- **Access token URL**: `https://login.microsoftonline.com/<directory_(tenant)_id>/oauth2/v2.0/token` | ||
- **Profile URL**: `https://graph.microsoft.com/v1.0/me` | ||
- **OIDC JWKS URL**: `https://login.microsoftonline.com/<directory_(tenant)_id>/discovery/v2.0/keys` | ||
- For **Multi tenant** Entra ID applications: | ||
- **Authorization URL**: `https://login.microsoftonline.com/common/oauth2/v2.0/authorize` | ||
- **Access token URL**: `https://login.microsoftonline.com/common/oauth2/v2.0/token` | ||
- **Profile URL**: `https://graph.microsoft.com/v1.0/me` | ||
- **OIDC JWKS URL**: `https://login.microsoftonline.com/common/discovery/v2.0/keys` | ||
|
||
3. Click **Save**. | ||
|
||
:::note | ||
When group membership information is synced from Entra ID, authentik creates all groups that a user is a member of. | ||
::: | ||
|
||
### Machine-to-machine authentication :ak-version[2024.12] | ||
|
||
If using [Machine-to-Machine](../../../../add-secure-apps/providers/oauth2/client_credentials.mdx#jwt-authentication) authentication, some specific steps need to be considered. | ||
|
||
When getting the JWT token from Entra ID, set the scope to the **Application ID URI**, and _not_ the Graph URL; otherwise the JWT will be in an invalid format. | ||
|
||
```http | ||
POST /<entra_tenant_id>/oauth2/v2.0/token/ HTTP/1.1 | ||
Host: login.microsoftonline.com | ||
Content-Type: application/x-www-form-urlencoded | ||
|
||
grant_type=client_credentials& | ||
client_id=<application_client_id>& | ||
scope=api://<application_client_id>/.default& | ||
client_secret=<application_client_secret> | ||
``` | ||
|
||
The JWT returned from the request above can be used in authentik and exchanged for an authentik JWT. | ||
|
||
:::note | ||
For instructions on how to display the new source on the authentik login page, refer to the [Add sources to default login page documentation](../../index.md#add-sources-to-default-login-page). | ||
::: |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.