From c7e6c9850c31e1f323ee504e6cac76fd3b3d6fca Mon Sep 17 00:00:00 2001 From: shuuri-labs <61762328+shuuri-labs@users.noreply.github.com> Date: Tue, 20 Jan 2026 16:52:24 +0100 Subject: [PATCH] =?UTF-8?q?update=20idp=20local=20user=20docs=20with=20ins?= =?UTF-8?q?tructions=20on=20how=20to=20remove=20default=E2=80=A6=20(#562)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../identity-providers/approve_user.png | Bin 0 -> 16841 bytes .../identity-providers/change-owner.png | Bin 0 -> 78825 bytes src/components/NavigationDocs.jsx | 1 + .../identity-providers/generic-oidc.mdx | 290 ++++++++++++++++++ .../selfhosted/identity-providers/index.mdx | 6 +- .../selfhosted/identity-providers/local.mdx | 18 +- 6 files changed, 313 insertions(+), 2 deletions(-) create mode 100644 public/docs-static/img/selfhosted/identity-providers/approve_user.png create mode 100644 public/docs-static/img/selfhosted/identity-providers/change-owner.png create mode 100644 src/pages/selfhosted/identity-providers/generic-oidc.mdx diff --git a/public/docs-static/img/selfhosted/identity-providers/approve_user.png b/public/docs-static/img/selfhosted/identity-providers/approve_user.png new file mode 100644 index 0000000000000000000000000000000000000000..1fadd372b14723f8b756eaee3cf2ab0334dd6a66 GIT binary patch literal 16841 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%0D?@q`F(+nU~0ReDBaOD711RS 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

ij9N5^T1!;nbmudz)JQqiXW!;_^o{pneq%NQod` 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%0DaN{~R8nyI3}`mx{{%&}z#H;pAt2cO@ez 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 literal 0 HcmV?d00001 diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx index 108c4dc7..02413906 100644 --- a/src/components/NavigationDocs.jsx +++ b/src/components/NavigationDocs.jsx @@ -299,6 +299,7 @@ export const docsNavigation = [ title: 'Self-hosted IdPs', isOpen: true, links: [ + { title: 'Generic OIDC', href: '/selfhosted/identity-providers/generic-oidc' }, { title: 'Zitadel', href: '/selfhosted/identity-providers/zitadel' }, { title: 'Authentik', href: '/selfhosted/identity-providers/authentik' }, { title: 'Keycloak', href: '/selfhosted/identity-providers/keycloak' }, diff --git a/src/pages/selfhosted/identity-providers/generic-oidc.mdx b/src/pages/selfhosted/identity-providers/generic-oidc.mdx new file mode 100644 index 00000000..e54be994 --- /dev/null +++ b/src/pages/selfhosted/identity-providers/generic-oidc.mdx @@ -0,0 +1,290 @@ +import {Note} from "@/components/mdx"; + +# Generic OIDC Provider with NetBird Self-Hosted + +NetBird supports any OpenID Connect (OIDC) compliant identity provider through its generic OIDC connector. This guide covers the requirements and configuration for connecting a non-supported or custom OIDC provider to your NetBird self-hosted deployment. + +## Required OIDC Claims + +Your identity provider must include the following claims in the ID token or UserInfo response: + +| Claim | Required | Description | +|-------|----------|-------------| +| `sub` | **Yes** | Subject - unique user identifier. This is the primary key for user identity. | +| `email` | Recommended | User's email address. Used for display and notifications. | +| `name` | Recommended | User's full display name. | +| `preferred_username` | Optional | Fallback display name if `name` is not present. | + + +While `email` and `name` are technically optional, they are strongly recommended. Without them, users will appear with only their `sub` identifier in the NetBird dashboard. + + +### Minimal Viable Token + +Here's the minimum JWT payload your OIDC provider should return: + +```json +{ + "iss": "https://your-idp.example.com", + "sub": "user-123456", + "aud": "your-client-id", + "email": "user@example.com", + "name": "John Doe", + "iat": 1234567890, + "exp": 1234571490 +} +``` + +## Required OIDC Endpoints + +Your identity provider must expose standard OIDC endpoints: + +| Endpoint | Purpose | +|----------|---------| +| `/.well-known/openid-configuration` | OIDC Discovery document | +| Authorization endpoint | User authentication | +| Token endpoint | Token exchange | +| JWKS endpoint | Token signature verification | +| UserInfo endpoint | Fetch additional user claims (recommended) | + +NetBird automatically discovers these endpoints from the OIDC discovery document at `{issuer}/.well-known/openid-configuration`. + +## Groups and Roles + +NetBird does **not require** specific roles or group memberships by default. However, you can optionally configure JWT group synchronization to: + +- Automatically create NetBird groups based on IdP groups +- Restrict access to users in specific groups +- Sync group membership changes on each login + +### Groups Claim Format + +If you want to use JWT group sync, your IdP must include a groups claim as a JSON array of strings: + +```json +{ + "sub": "user-123456", + "email": "user@example.com", + "groups": ["engineering", "admins", "team-a"] +} +``` + +The claim name is configurable (default: `groups`). Some providers use `roles`, `memberOf`, or custom claim names. + +--- + +## Management Setup (Recommended) + +Add your OIDC provider directly in the NetBird Management Dashboard. This is the simplest approach and works with any OIDC-compliant provider. + +### Prerequisites + +- NetBird self-hosted with embedded IdP enabled +- An OIDC-compliant identity provider with admin access + +### Step 1: Create OIDC Client in Your Identity Provider + +1. Log in to your identity provider's admin console +2. Create a new OIDC/OAuth2 application or client +3. Configure the following settings: + +| Setting | Value | +|---------|-------| +| Application Type | Web Application (Confidential Client) | +| Grant Type | Authorization Code | +| Token Endpoint Auth | Client Secret (Basic or Post) | + +4. Note the **Client ID** and **Client Secret** - you'll need these for NetBird +5. Note the **Issuer URL** (typically the base URL of your IdP) + + +**Important:** Create a confidential client (not a public client). NetBird requires a client secret for secure token exchange. The secret is stored securely and never exposed to end users. + + +### Step 2: Configure Scopes + +Ensure your OIDC client requests the following scopes: + +| Scope | Purpose | +|-------|---------| +| `openid` | Required for OIDC | +| `profile` | Access to `name` and `preferred_username` claims | +| `email` | Access to `email` claim | +| `groups` | Access to group membership (if supported and needed) | + + +Some providers include profile and email claims by default. Others require explicit scope requests. Check your provider's documentation. + + +### Step 3: Add Identity Provider in NetBird + +1. Log in to your NetBird Dashboard +2. Navigate to **Settings** → **Identity Providers** +3. Click **Add Identity Provider** +4. Select **Generic OIDC** from the type dropdown +5. Fill in the fields: + +| Field | Value | +|-------|-------| +| Type | Generic OIDC | +| Name | Your provider name (shown on login button) | +| Client ID | From your identity provider | +| Client Secret | From your identity provider | +| Issuer | Your provider's issuer URL (e.g., `https://idp.example.com`) | + +6. Click **Save** (don't close the modal yet) + +### Step 4: Configure Redirect URI + +After saving, NetBird displays the **Redirect URL**. Copy this URL and add it to your identity provider's allowed redirect URIs / callback URLs. + +The redirect URL format is typically: +``` +https://your-netbird-domain.com/oauth2/callback/{connector-id} +``` + + +**Common issues:** Ensure the redirect URI matches exactly - no trailing slashes, correct protocol (https), and proper case sensitivity depending on your provider. + + +### Step 5: Test the Connection + +1. Log out of NetBird Dashboard +2. On the login page, you should see a button with your provider's name +3. Click it and authenticate with your identity provider +4. You should be redirected back to NetBird and logged in + +--- + +## Configuring JWT 'groups' Claim + +To sync groups from your identity provider to NetBird: + +### Step 1: Configure Your IdP to Include Groups + +Most identity providers require explicit configuration to include groups in tokens. Common approaches: + +- **Add a groups scope** - Request the `groups` scope in your OIDC client +- **Create a custom claim mapper** - Map user groups to a token claim +- **Configure token enrichment** - Add groups to ID token or access token + +Refer to your identity provider's documentation for specific instructions. + +### Step 2: Enable JWT Group Sync in NetBird + +1. In NetBird Dashboard, go to **Settings** → **Groups** +2. Enable **JWT group sync** +3. Set **JWT claim** to the claim name your IdP uses (commonly `groups`, `roles`, or `memberOf`) +4. Optionally configure **JWT allow groups** to restrict access to specific groups + +### Example: Groups Claim Configuration + +If your IdP returns groups like this: + +```json +{ + "sub": "user-123", + "groups": ["developers", "netbird-users"] +} +``` + +Configure NetBird with: +- **JWT claim**: `groups` +- **JWT allow groups**: `netbird-users` (optional - restricts access to this group) + + +Groups created via JWT sync are managed by your IdP. Users are added/removed from these groups automatically on each login based on their IdP group membership. + + +--- + +## Provider-Specific Notes + +### Claims in ID Token vs UserInfo + +Some providers only include basic claims in the ID token and require a UserInfo request for `email` and `name`. NetBird's embedded DEX connector automatically fetches UserInfo when configured with `getUserInfo: true` (the default for generic OIDC connectors). + +If users appear without email or name: +1. Check if your IdP includes these claims in the ID token +2. Verify the UserInfo endpoint is accessible +3. Ensure the `profile` and `email` scopes are granted + +### Issuer URL Format + +The issuer URL must exactly match the `iss` claim in tokens issued by your provider. Common formats: + +| Provider Type | Issuer Format Example | +|---------------|----------------------| +| Standard OIDC | `https://idp.example.com` | +| Realm-based (Keycloak) | `https://idp.example.com/realms/myrealm` | +| Tenant-based | `https://idp.example.com/tenant-id` | +| Path-based | `https://example.com/oauth2` | + +### Token Signature Verification + +NetBird validates tokens using public keys from your IdP's JWKS endpoint. Ensure: +- The JWKS endpoint is accessible from your NetBird server +- Tokens are signed with a supported algorithm (RS256, ES256, etc.) +- Key rotation is properly configured + +--- + +## Troubleshooting + +### "Invalid redirect URI" error + +- Copy the exact Redirect URL from NetBird after adding the provider +- Ensure no trailing slashes or protocol mismatches +- Some providers are case-sensitive + +### "Invalid token" or "Token validation failed" + +- Verify the issuer URL matches exactly (including trailing slashes) +- Check clock synchronization between NetBird server and IdP +- Ensure the client ID matches what's configured in the IdP +- Verify JWKS endpoint is accessible + +### Users appear without email or name + +- Check if your IdP includes `email` and `name` claims +- Verify `profile` and `email` scopes are requested and granted +- Some IdPs require explicit claim mapping configuration + +### "User not found" after successful authentication + +- Check Management service logs for detailed errors +- Verify the token contains the required `sub` claim +- Ensure no account domain restrictions are blocking the user + +### Groups not syncing + +- Verify your IdP includes groups in the token (check with a JWT decoder) +- Ensure the claim name in NetBird matches your IdP's claim name +- Check that groups are in array format: `["group1", "group2"]` + +--- + +## API Configuration + +You can also configure generic OIDC providers via the API: + +```bash +curl -X POST "https://netbird.example.com/api/identity-providers" \ + -H "Authorization: Bearer ${TOKEN}" \ + -H "Content-Type: application/json" \ + -d '{ + "type": "oidc", + "name": "My Custom IdP", + "client_id": "your-client-id", + "client_secret": "your-client-secret", + "issuer": "https://idp.example.com" + }' +``` + +--- + +## Related Resources + +- [Identity Providers Overview](/selfhosted/identity-providers) +- [Local User Management](/selfhosted/identity-providers/local) +- [OpenID Connect Specification](https://openid.net/specs/openid-connect-core-1_0.html) diff --git a/src/pages/selfhosted/identity-providers/index.mdx b/src/pages/selfhosted/identity-providers/index.mdx index 2e0fa931..dc1e0c73 100644 --- a/src/pages/selfhosted/identity-providers/index.mdx +++ b/src/pages/selfhosted/identity-providers/index.mdx @@ -10,6 +10,10 @@ NetBird's self-hosted implementation uses the OpenID Connect (OIDC) protocol for identity layer built on top of OAuth 2.0. OIDC is used both for user authentication to access the Management Service Dashboard and for user device authorization when accessing internal resources. + +While we maintain a list of 'supported' (tested) IdPs, **any OIDC provider should work with NetBird's 'OIDC (Generic)' connector**. + + ## How Authentication Works in NetBird When a user attempts to access the NetBird dashboard from a web browser or an internal resource from their device, @@ -37,7 +41,7 @@ NetBird supports any OIDC-compliant identity providers. Here are some popular pr | Provider | Type | Best For | |----------|------|----------| -| [**Generic OIDC**](#adding-an-identity-provider) | `oidc` | Any OIDC-compliant provider | +| [**Generic OIDC**](/selfhosted/identity-providers/generic-oidc) | `oidc` | Any OIDC-compliant provider (custom/unsupported IdPs) | | [**Google**](/selfhosted/identity-providers/managed/google-workspace) | `google` | Google Workspace, personal Google accounts | | [**Microsoft**](/selfhosted/identity-providers/managed/microsoft-entra-id) | `microsoft` / `entra` | Personal accounts, Azure AD / Entra ID | | [**Okta**](/selfhosted/identity-providers/managed/okta) | `okta` | Enterprise SSO | diff --git a/src/pages/selfhosted/identity-providers/local.mdx b/src/pages/selfhosted/identity-providers/local.mdx index 98fa82b4..e9afa762 100644 --- a/src/pages/selfhosted/identity-providers/local.mdx +++ b/src/pages/selfhosted/identity-providers/local.mdx @@ -296,9 +296,25 @@ Ensure `EmbeddedIdP.Enabled` is `true` in `management.json` and the Management s | MFA | Via external connectors | Native IdP feature | | Backup complexity | Single database | Multiple databases | +## Deleting the Default Local Admin User + +If you prefer to delegate all credential storage and authentication to your IdP while still utilizing NetBird's new, simplified IdP connection flow, you can remove the default local user. To do so: + +1. Configure an external IdP connector following the [Authentication Guide](/selfhosted/identity-providers). +2. Log out and log in with your new admin account via the external IdP. NetBird will notify you that the user requires approval. +3. Log back in as your original NetBird-local admin and navigate to **Team > Users**. You should see the new IdP user pending approval: + +Approve User + +4. Approve the request, click on the user, select **Owner** as the role, confirm the ownership transfer, and save. + +Change Owner + +5. Log out and log back in as the new IdP user. You should now have admin access. Navigate to **Team > Users** and delete the original NetBird-local user. + ## Disabling Embedded IdP -To switch from embedded IdP to an external IdP: +To switch from embedded IdP to a (standalone) external IdP: 1. Configure your external IdP following the [Advanced guide](/selfhosted/selfhosted-guide) 2. Update `management.json`: