[PR #1147] [MERGED] Optimize Cache and IDP Management #14937

Closed
opened 2026-08-05 03:06:38 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/1147
Author: @bcmmbaga
Created: 9/14/2023
Status: Merged
Merged: 10/3/2023
Merged by: @mlsmaycon

Base: mainHead: idp-user-cache


📝 Commits (10+)

  • 50ecf6f wip: Handle user metadata without transmitting them to Identity Provider
  • 8293c95 wip: load user account into cache for idp with no GetAccount support
  • 9027271 Merge branch 'main' into idp-user-cache
  • 519f18b Add compatibility for the IDP lacking AppMetadata update capabilities
  • a3f6de0 Refactor Authentik IdP manager
  • 7aa72f6 cleanup
  • 1c7d4e9 Merge branch 'main' into idp-user-cache
  • 62d5853 Refactor Zitadel IDP manager
  • 7706319 Refactor Keycloak IDP manager
  • 5adebea Refactor Okta IDP manager

📊 Changes

12 files changed (+182 additions, -1670 deletions)

View changed files

📝 management/server/account.go (+21 -0)
📝 management/server/idp/authentik.go (+16 -162)
📝 management/server/idp/azure.go (+25 -311)
📝 management/server/idp/azure_test.go (+8 -160)
📝 management/server/idp/google_workspace.go (+23 -151)
📝 management/server/idp/idp.go (+5 -0)
📝 management/server/idp/keycloak.go (+32 -234)
📝 management/server/idp/keycloak_test.go (+0 -114)
📝 management/server/idp/okta.go (+17 -155)
📝 management/server/idp/okta_test.go (+7 -37)
📝 management/server/idp/zitadel.go (+26 -222)
📝 management/server/idp/zitadel_test.go (+2 -124)

📄 Description

Describe your changes

This pull request modifies the IdP and cache manager(s) to prevent the sending of app metadata to the upstream IDP on self-hosted instances. As a result, the IdP will now load all users from the IdP without filtering based on accountID.

We disable user invites as the administrator's own IDP system manages them.

  • Netbird and Keycloak connect to LDAP don't work - #1126
  • Google Workspace IdP not setting email addresses properly - #1115
  • Fix bug with updating Keycloak user attributes - #1095

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/1147 **Author:** [@bcmmbaga](https://github.com/bcmmbaga) **Created:** 9/14/2023 **Status:** ✅ Merged **Merged:** 10/3/2023 **Merged by:** [@mlsmaycon](https://github.com/mlsmaycon) **Base:** `main` ← **Head:** `idp-user-cache` --- ### 📝 Commits (10+) - [`50ecf6f`](https://github.com/netbirdio/netbird/commit/50ecf6f4da351c3305ec03b3270ba5f15db01f33) wip: Handle user metadata without transmitting them to Identity Provider - [`8293c95`](https://github.com/netbirdio/netbird/commit/8293c95b1b485475d31ec6102129e742097a7298) wip: load user account into cache for idp with no GetAccount support - [`9027271`](https://github.com/netbirdio/netbird/commit/90272718dbf198c25559e693e114fdf8cf4fe42c) Merge branch 'main' into idp-user-cache - [`519f18b`](https://github.com/netbirdio/netbird/commit/519f18bbad46386c09de53775335429d37c5ae96) Add compatibility for the IDP lacking AppMetadata update capabilities - [`a3f6de0`](https://github.com/netbirdio/netbird/commit/a3f6de011502bf9344ac786259d3be2a49040e12) Refactor Authentik IdP manager - [`7aa72f6`](https://github.com/netbirdio/netbird/commit/7aa72f6ab658a9d668b3c998ef35898815c88497) cleanup - [`1c7d4e9`](https://github.com/netbirdio/netbird/commit/1c7d4e9f8a4b9d15e81ec60a76c1ca0da622f1ae) Merge branch 'main' into idp-user-cache - [`62d5853`](https://github.com/netbirdio/netbird/commit/62d585302f441e5d51b026cc875be4d579a3bb61) Refactor Zitadel IDP manager - [`7706319`](https://github.com/netbirdio/netbird/commit/7706319aab474bfba5932092b7a5c5946e2def08) Refactor Keycloak IDP manager - [`5adebea`](https://github.com/netbirdio/netbird/commit/5adebea24a07255735d75d7025f4b900caeed269) Refactor Okta IDP manager ### 📊 Changes **12 files changed** (+182 additions, -1670 deletions) <details> <summary>View changed files</summary> 📝 `management/server/account.go` (+21 -0) 📝 `management/server/idp/authentik.go` (+16 -162) 📝 `management/server/idp/azure.go` (+25 -311) 📝 `management/server/idp/azure_test.go` (+8 -160) 📝 `management/server/idp/google_workspace.go` (+23 -151) 📝 `management/server/idp/idp.go` (+5 -0) 📝 `management/server/idp/keycloak.go` (+32 -234) 📝 `management/server/idp/keycloak_test.go` (+0 -114) 📝 `management/server/idp/okta.go` (+17 -155) 📝 `management/server/idp/okta_test.go` (+7 -37) 📝 `management/server/idp/zitadel.go` (+26 -222) 📝 `management/server/idp/zitadel_test.go` (+2 -124) </details> ### 📄 Description ## Describe your changes This pull request modifies the IdP and cache manager(s) to prevent the sending of app metadata to the upstream IDP on self-hosted instances. As a result, the IdP will now load all users from the IdP without filtering based on accountID. We disable user invites as the administrator's own IDP system manages them. ## Issue ticket number and link * Netbird and Keycloak connect to LDAP don't work - [#1126](https://github.com/netbirdio/netbird/issues/1126) * Google Workspace IdP not setting email addresses properly - [#1115](https://github.com/netbirdio/netbird/issues/1115) * Fix bug with updating Keycloak user attributes - [#1095](https://github.com/netbirdio/netbird/pull/1095) ### Checklist - [x] 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 03:06:38 -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#14937