[PR #2060] [CLOSED] Add mTLS support for SSO #18589

Open
opened 2026-08-05 04:08:41 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/2060
Author: @Foosec
Created: 5/27/2024
Status: Closed

Base: 0.28.0Head: mtls-support


📝 Commits (3)

  • 2f6fe2d Add mTLS support for SSO
  • 5e27316 Fix function call for changed signature due to mTLS addition. Could in future also add mTLs configuration support for android and iOS clients
  • a070bbb Merge branch '0.28.0' into mtls-support

📊 Changes

6 files changed (+53 additions, -4 deletions)

View changed files

📝 client/android/login.go (+1 -1)
📝 client/internal/auth/oauth.go (+1 -1)
📝 client/internal/auth/pkce_flow.go (+13 -0)
📝 client/internal/config.go (+32 -0)
📝 client/internal/pkce_auth.go (+5 -1)
📝 client/ios/NetBirdSDK/login.go (+1 -1)

📄 Description

Describe your changes

Adds ClientCertPath and ClientCertKey to the config, to provide mTLS credentials for IDP authentication.
A usecase is having your IDP behind a mTLS terminating reverse proxy, thus reducing the risk of 0 day exploits against your IDP and adding an extra step of authentication.
This is a feature that could be extended to cover netbird management as well.

I would be very happy to have someone more used to the code point out if something is miss placed.
Ideally this could be added to the UI and possibly to mobile clients as well, but i did not want to go poking in the UI code without even an idea if this would be approved.

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/2060 **Author:** [@Foosec](https://github.com/Foosec) **Created:** 5/27/2024 **Status:** ❌ Closed **Base:** `0.28.0` ← **Head:** `mtls-support` --- ### 📝 Commits (3) - [`2f6fe2d`](https://github.com/netbirdio/netbird/commit/2f6fe2d7e15b58f54b6097ddbfcc1cfc69b2d8ad) Add mTLS support for SSO - [`5e27316`](https://github.com/netbirdio/netbird/commit/5e27316dea878142a8fc357a1a5bf3e6d95a8e21) Fix function call for changed signature due to mTLS addition. Could in future also add mTLs configuration support for android and iOS clients - [`a070bbb`](https://github.com/netbirdio/netbird/commit/a070bbba53b52b3d3909854fe54b0383aa2b5e76) Merge branch '0.28.0' into mtls-support ### 📊 Changes **6 files changed** (+53 additions, -4 deletions) <details> <summary>View changed files</summary> 📝 `client/android/login.go` (+1 -1) 📝 `client/internal/auth/oauth.go` (+1 -1) 📝 `client/internal/auth/pkce_flow.go` (+13 -0) 📝 `client/internal/config.go` (+32 -0) 📝 `client/internal/pkce_auth.go` (+5 -1) 📝 `client/ios/NetBirdSDK/login.go` (+1 -1) </details> ### 📄 Description ## Describe your changes Adds ClientCertPath and ClientCertKey to the config, to provide mTLS credentials for IDP authentication. A usecase is having your IDP behind a mTLS terminating reverse proxy, thus reducing the risk of 0 day exploits against your IDP and adding an extra step of authentication. This is a feature that could be extended to cover netbird management as well. I would be very happy to have someone more used to the code point out if something is miss placed. Ideally this could be added to the UI and possibly to mobile clients as well, but i did not want to go poking in the UI code without even an idea if this would be approved. ## Issue ticket number and link ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [ ] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 04:08:41 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#18589