[GH-ISSUE #5224] Silent auth option once an external IDP has been configured #10994

Closed
opened 2026-08-05 01:28:02 -04:00 by saavagebueno · 5 comments
Owner

Originally created by @rekordskratch on GitHub (Jan 31, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5224

I self host and using the getting-started script is great. Adding your own IDP is now super simple thank you!
I was wondering if anyone else had this use case. Many of our users do not know what IDP we use, for example Microsoft Entra. So when they see two options:

"Login with email"
"Login with Entra ID"

They will likely always try log in with email. For me the simplest would be to just silently auth the user against the configured IDP.

I would love if there was an option to set the external IDP as "Default" which essentially disables all other IDP's including the local IDP. Setting this could then expose a field displaying a new URL to visit should you find yourself locked out using your external IDP account. Even better would be the option to specify a custom URL for logging in with a local IDP account.

Thank you for this awesome project and I hope someone else could benefit from this request!

edit: I forgot to mention, this awesome plugin for Wordpress does exactly what I've described if anyone would like to have a look how they implemented it. Maybe not on a technical level but at least to demonstrate the logic behind the use case.
https://www.wpo365.com/

Originally created by @rekordskratch on GitHub (Jan 31, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5224 I self host and using the getting-started script is great. Adding your own IDP is now super simple thank you! I was wondering if anyone else had this use case. Many of our users do not know what IDP we use, for example Microsoft Entra. So when they see two options: > "Login with email" > "Login with Entra ID" They will likely always try log in with email. For me the simplest would be to just silently auth the user against the configured IDP. I would love if there was an option to set the external IDP as "Default" which essentially disables all other IDP's including the local IDP. Setting this could then expose a field displaying a new URL to visit should you find yourself locked out using your external IDP account. Even better would be the option to specify a custom URL for logging in with a local IDP account. Thank you for this awesome project and I hope someone else could benefit from this request! edit: I forgot to mention, this awesome plugin for Wordpress does exactly what I've described if anyone would like to have a look how they implemented it. Maybe not on a technical level but at least to demonstrate the logic behind the use case. https://www.wpo365.com/
saavagebueno added the feature-request label 2026-08-05 01:28:02 -04:00
Author
Owner

@eunrui commented on GitHub (Jan 31, 2026):

#5226

<!-- gh-comment-id:3828555355 --> @eunrui commented on GitHub (Jan 31, 2026): #5226
Author
Owner
<!-- gh-comment-id:3831747535 --> @braginini commented on GitHub (Feb 1, 2026): Done! https://docs.netbird.io/selfhosted/identity-providers/disable-local-authentication
Author
Owner

@rekordskratch commented on GitHub (Feb 1, 2026):

Wow that's amazing thank you! I will test it out as soon as I can.

<!-- gh-comment-id:3831766502 --> @rekordskratch commented on GitHub (Feb 1, 2026): Wow that's amazing thank you! I will test it out as soon as I can.
Author
Owner

@avocado-avery commented on GitHub (Feb 15, 2026):

I can't seem to get this to work with the new "simplified" config.yaml file that is generated, am I doing it wrong?

EmbeddedIdP:
Enabled: true
LocalAuthDisabled: true

This is what I have in the config.yaml and it is still showing "Email Login"

<!-- gh-comment-id:3904941264 --> @avocado-avery commented on GitHub (Feb 15, 2026): I can't seem to get this to work with the new "simplified" config.yaml file that is generated, am I doing it wrong? EmbeddedIdP: Enabled: true LocalAuthDisabled: true This is what I have in the config.yaml and it is still showing "Email Login"
Author
Owner

@rekordskratch commented on GitHub (Feb 15, 2026):

For the config.yaml it would be under the auth section like this. Note the lower case "l" which is the convention for variables in yaml file.

auth:
    issuer: "https://example.com/oauth2"
    signKeyRefreshEnabled: true
    dashboardRedirectURIs:
      - "https://example.com/nb-auth"
      - "https://example.com/nb-silent-auth"
    cliRedirectURIs:
      - "http://localhost:53000/"
    localAuthDisabled: true

I've opened an issue asking to update the docs
https://github.com/netbirdio/docs/issues/600

<!-- gh-comment-id:3904951458 --> @rekordskratch commented on GitHub (Feb 15, 2026): For the config.yaml it would be under the auth section like this. Note the lower case "l" which is the convention for variables in yaml file. ``` auth: issuer: "https://example.com/oauth2" signKeyRefreshEnabled: true dashboardRedirectURIs: - "https://example.com/nb-auth" - "https://example.com/nb-silent-auth" cliRedirectURIs: - "http://localhost:53000/" localAuthDisabled: true ``` I've opened an issue asking to update the docs https://github.com/netbirdio/docs/issues/600
Sign in to join this conversation.
No Label feature-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#10994