Embedded IdP issues
Updated
Problems with the embedded identity provider (IdP) and SSO (single sign-on) on a self-hosted deployment. For other areas, start from Troubleshooting.
Setup page not accessible
Symptom: You can't open the /setup page to create the first user.
Likely causes and fixes (most common first):
- A user already exists.
/setupis only available when no users exist. If you've already created one, use the regular login page. - The embedded IdP is disabled. Confirm it is enabled in your configuration.
- Management isn't running. Check
docker compose logs netbird-server(managementon installs from before v0.65.0).
Confirm: /setup loads (first run), or the regular login page loads (setup already done).
"Setup already completed" error (HTTP 412)
Symptom: The setup endpoint returns a 412 error.
Cause: Setup has already completed; the first user exists.
Fix: Use the regular login page to sign in.
Password not working after user creation
Symptom: You created a user but the password doesn't work.
Cause: Passwords are shown only once at creation. If it wasn't saved, it can't be recovered, but you can set a new one.
Fix: Set a new password with the admin CLI (NetBird v0.75.0 and later). This works for the owner account too:
read -rsp 'New password: ' NB_PASSWORD; echo
printf '%s\n' "$NB_PASSWORD" | docker exec -i netbird-server \
/go/bin/netbird-server --config /etc/netbird/config.yaml admin user change-password \
--email user@example.com \
--password-file -
unset NB_PASSWORD
The password is read from a silent prompt, so it doesn't end up in your shell history.
See Change a local user's password for the password rules and other options.
Confirm: You can log in with the new credentials.
SSO connector not appearing on login page
Symptom: You configured an identity provider but it doesn't show on the login page.
Likely causes and fixes (most common first):
- The connector wasn't saved. Check Settings → Identity Providers.
- The redirect URI is wrong. Ensure the IdP application has the exact redirect URI shown by NetBird.
- A configuration error. Review
docker compose logs netbird-serverfor connector errors.
Confirm: The SSO button appears on the login page and starts the IdP flow.
"Invalid redirect URI" error from IdP
Symptom: Clicking an SSO button returns an invalid redirect URI error from the IdP.
Cause: The redirect URI registered at the IdP doesn't exactly match the one NetBird sends.
Fix: Copy the exact redirect URL from NetBird (shown after saving the connector) into your IdP's allowed redirect URIs. Watch for trailing slashes, typos, and case sensitivity.
Confirm: The SSO flow completes and lands you on the dashboard.
Identity Providers tab not visible
Symptom: The Identity Providers tab is missing from Settings.
Cause: The tab only appears when the embedded IdP is enabled and your role is allowed to read identity providers.
Fix: Check your deployment: quickstart enables it by default, the combined setup always has it on, and older multi-container deployments need EmbeddedIdP.Enabled set to true in management.json. If the embedded IdP is on and the tab is still missing, sign in with a role that can manage identity providers, or ask an administrator to check your role's permissions.
Confirm: The Identity Providers tab appears under Settings.
Users not syncing from SSO provider
Symptom: Users who authenticate via SSO don't appear in the user list.
Likely causes and fixes (most common first):
- They haven't logged in yet. Users appear after their first successful login, not when the connector is configured.
- The SSO flow isn't completing. Confirm the user lands on the dashboard after authenticating.
- Token validation is failing. Review the Management logs for token errors.
Confirm: After a successful SSO login, the user appears in the dashboard user list.

