5.6 KiB
id, title, sidebar_position, tags
| id | title | sidebar_position | tags | |||||
|---|---|---|---|---|---|---|---|---|
| using-netbird-with-zitadel | Using NetBird with Zitadel | 5 |
|
This guide is a part of the NetBird Self-hosting Guide and explains how to integrate self-hosted NetBird with Zitadel.
:::tip managed idp If you prefer not to self-host an Identity and Access Management solution, then you could use a managed alternative like Auth0. :::
1. Create and configure Zitadel application
In this step, we will create and configure Netbird application in zitadel.
Create new zitadel project
- Navigate to zitadel console
- Click
Projectsat the top menu, then clickCreate New Projectto create a new project - Fill in the form with the following values and click
Continue- Name:
NETBIRD
- Name:
Create new zitadel application
- Click
Projectsin the top menu and selectNETBIRDproject from the list - Click
NewinAPPLICATIONSsection to create a new application - Fill in the form with the following values and click
Continue- Name:
netbird - TYPE OF APPLICATION:
User Agent
- Name:
- Fill in the form with the following values and click
Continue- Authentication Method:
PKCE
- Authentication Method:
- Fill in the form with the following values and click
Continue- Redirect URIs:
https://<domain>/authand click+ - Post Logout URIs:
https://<domain>/silent-authand click+
- Redirect URIs:
- Verify applications details and Click
Createand then clickClose - Check
Refresh Tokencheckbox and clickSave
- Copy
Client IDwill be used later in thesetup.env
Step 2: Application Token Configuration
To configure netbird application token you need to:
- Click
Projectsin the top menu and selectNETBIRDproject from the list - Select
netbirdapplication fromAPPLICATIONSsection - Click
Token Settingsin the left menu - Fill in the form with the following values:
- Auth Token Type:
JWT - Check
Add user roles to the access tokencheckbox
- Auth Token Type:
- Click
Save
Step 3: Application Redirect Configuration
:::caution This step is intended for setup running in development mode with no SSL :::
To configure netbird application redirect you need to:
- Click
Projectsin the top menu and selectNETBIRDproject from the list - Select
netbirdapplication fromAPPLICATIONSsection - Click
Redirect Settingsin the left menu - Fill in the form with the following values:
- Toggle
Development Mode
- Toggle
- Click
Save
Step 4: Create a Service User
In this step we will create a netbird service user.
- Click
Usersin the top menu - Select
Service Userstab - Click
New - Fill in the form with the following values:
- User Name:
netbird - Name:
netbird - Description:
Netbird Service User - Access Token Type:
JWT
- User Name:
- Click
Create
In this step we will generate ClientSecret for the netbird service user.
- Click
Actionsin the top right corner and clickGenerate Client Secret - Copy
ClientSecretfrom the dialog will be used later to setClientSecretin themanagement.json
Step 5: Grant manage-users role to netbird service user
In this step we will grant Org User Manager role to netbird service user.
- Click
Organizationin the top menu - Click
+in the top right corner - Search for
netbirdservice user - Check
Org User Managercheckbox - Click
Add
Your authority OIDC configuration will be available under:
https://<YOUR-ZITADEL-HOST-AND-PORT>/.well-known/openid-configuration
:::caution Double-check if the endpoint returns a JSON response by calling it from your browser. :::
- Set properties in the
setup.envfile:
NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT="https://<YOUR-ZITADEL-HOST-AND-PORT>/.well-known/openid-configuration"
NETBIRD_USE_AUTH0=false
NETBIRD_AUTH_CLIENT_ID="<Client ID>"
NETBIRD_AUTH_AUDIENCE="<Client ID>"
NETBIRD_AUTH_DEVICE_AUTH_CLIENT_ID="<Client ID>"
NETBIRD_AUTH_REDIRECT_URI="/auth"
NETBIRD_AUTH_SILENT_REDIRECT_URI="/silent-auth"
-
You can now continue with the NetBird Self-hosting Guide.
-
Set property
IdpManagerConfigin themanagement.jsonfile with: :::caution The file management.json is created automatically. Please refer here for more information. :::{ "ManagerType": "zitadel", "ZitadelClientCredentials": { "ClientID": "netbird", "ClientSecret": "<CLIENT SECRET>", "GrantType": "client_credentials", "TokenEndpoint": "https://<YOUR-ZITADEL-HOST-AND-PORT>/oauth/v2/token", "ManagementEndpoint": "https://<YOUR-ZITADEL-HOST-AND-PORT>/management/v1" } }









