[PR #4529] [MERGED] [management] feat: Basic PocketID IDP integration #23556

Open
opened 2026-08-05 06:07:22 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/4529
Author: @jfrconley
Created: 9/22/2025
Status: Merged
Merged: 10/16/2025
Merged by: @braginini

Base: mainHead: main


📝 Commits (9)

  • 7d6f03c initial work on pocketid integration
  • 7251c27 fix struct unmarshalling
  • f8a6a28 support basic pagination for getting users
  • 6e6cb3a added basic tests for the pocketid integration
  • 925df89 appease naming conventions
  • bbbaaac Merge branch 'netbirdio:main' into main
  • e4afdaf Merge branch 'netbirdio:main' into main
  • fe5575f Merge branch 'netbirdio:main' into main
  • ff7b0fb clarify error message for bad pocketid status codes

📊 Changes

4 files changed (+533 additions, -3 deletions)

View changed files

📝 management/server/idp/auth0_test.go (+5 -3)
📝 management/server/idp/idp.go (+6 -0)
management/server/idp/pocketid.go (+384 -0)
management/server/idp/pocketid_test.go (+138 -0)

📄 Description

Describe your changes

Add support for integrating pocketid with netbird, allowing user information to be properly synced and displayed.
The goal is to bring support inline with integrations for other self hosted idp's with this implementation cribbing heavily from the existing keycloak and zitadel integrations.

This takes advantage of the PocketID REST API to do basic user data management.

This should fix the issue described in #3295, populating the email and name fields in the profile from data returned by PocketID

Stack

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)

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

  • I added/updated documentation for this change
  • Documentation is not needed for this change (explain why)

Docs PR URL (required if "docs added" is checked)

Paste the PR link from https://github.com/netbirdio/docs here:

https://github.com/netbirdio/docs/pull/432


🔄 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/4529 **Author:** [@jfrconley](https://github.com/jfrconley) **Created:** 9/22/2025 **Status:** ✅ Merged **Merged:** 10/16/2025 **Merged by:** [@braginini](https://github.com/braginini) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (9) - [`7d6f03c`](https://github.com/netbirdio/netbird/commit/7d6f03c76752bdf0d0390817f8da888071152e77) initial work on pocketid integration - [`7251c27`](https://github.com/netbirdio/netbird/commit/7251c27aca39f5cfd5631f851219991dbc654abc) fix struct unmarshalling - [`f8a6a28`](https://github.com/netbirdio/netbird/commit/f8a6a2859cdce01b931fc6ed272fc18675469cf8) support basic pagination for getting users - [`6e6cb3a`](https://github.com/netbirdio/netbird/commit/6e6cb3ab5dd4b6525d0580b19050ae09fca038d6) added basic tests for the pocketid integration - [`925df89`](https://github.com/netbirdio/netbird/commit/925df898e7fb41b28d597cbf3f3c3d10b3e10277) appease naming conventions - [`bbbaaac`](https://github.com/netbirdio/netbird/commit/bbbaaac917fa42900c847a8b1c67048f0a56e1c8) Merge branch 'netbirdio:main' into main - [`e4afdaf`](https://github.com/netbirdio/netbird/commit/e4afdafab9f9279440f84f339e7c0c0ba69de555) Merge branch 'netbirdio:main' into main - [`fe5575f`](https://github.com/netbirdio/netbird/commit/fe5575f3405afeb5ecafff94347004ff6f944853) Merge branch 'netbirdio:main' into main - [`ff7b0fb`](https://github.com/netbirdio/netbird/commit/ff7b0fb0f3c78ffdda9b02e266cdba07f0cc16c7) clarify error message for bad pocketid status codes ### 📊 Changes **4 files changed** (+533 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `management/server/idp/auth0_test.go` (+5 -3) 📝 `management/server/idp/idp.go` (+6 -0) ➕ `management/server/idp/pocketid.go` (+384 -0) ➕ `management/server/idp/pocketid_test.go` (+138 -0) </details> ### 📄 Description ## Describe your changes Add support for integrating pocketid with netbird, allowing user information to be properly synced and displayed. The goal is to bring support inline with integrations for other self hosted idp's with this implementation cribbing heavily from the existing keycloak and zitadel integrations. This takes advantage of the PocketID REST API to do basic user data management. ## Issue ticket number and link This should fix the issue described in #3295, populating the email and name fields in the profile from data returned by PocketID ## Stack <!-- branch-stack --> ### 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) > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). ## Documentation Select exactly one: - [x] I added/updated documentation for this change - [ ] Documentation is **not needed** for this change (explain why) ### Docs PR URL (required if "docs added" is checked) Paste the PR link from https://github.com/netbirdio/docs here: https://github.com/netbirdio/docs/pull/432 --- <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 06:07:22 -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#23556