[GH-ISSUE #2664] JWT Claim feature not working with groups containing capitalized letters #5778

Open
opened 2026-08-05 01:05:05 -04:00 by saavagebueno · 5 comments
Owner

Originally created by @alexcupertme on GitHub (Sep 28, 2024).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/2664

Describe the problem

Netbird not presenting strict conditions how can group be named, so when you try to fetch groups from JWT token using JWT Claim functionality, it doesn't parse groups named like "Developer" et cetera...

To Reproduce

Steps to reproduce the behavior:

Prerequisites:
Zitadel as IdP and Netbird, v.0.29.4

  1. Add Authorization to the user with role key "EXAMPLE"
  2. Try to connect to the Netbird via Desktop application and authorize
  3. Group didnt assigned

If we try "example" as role key, it works perfectly

Expected behavior

At least this behavior should be noted in the documentation

Originally created by @alexcupertme on GitHub (Sep 28, 2024). Original GitHub issue: https://github.com/netbirdio/netbird/issues/2664 **Describe the problem** Netbird not presenting strict conditions how can group be named, so when you try to fetch groups from JWT token using JWT Claim functionality, it doesn't parse groups named like "Developer" et cetera... **To Reproduce** Steps to reproduce the behavior: Prerequisites: Zitadel as IdP and Netbird, v.0.29.4 1. Add Authorization to the user with role key "EXAMPLE" 2. Try to connect to the Netbird via Desktop application and authorize 3. Group didnt assigned If we try "example" as role key, it works perfectly **Expected behavior** At least this behavior should be noted in the documentation
saavagebueno added the triage-needed label 2026-08-05 01:05:05 -04:00
Author
Owner

@nazarewk commented on GitHub (Apr 28, 2025):

Hello @alexcupertme,

We're currently reviewing our open issues and would like to verify if this problem still exists in the latest NetBird version.

Could you please confirm if the issue is still there?

We may close this issue temporarily if we don't hear back from you within 2 weeks, but feel free to reopen it with updated information.

Thanks for your contribution to improving the project!

<!-- gh-comment-id:2835662619 --> @nazarewk commented on GitHub (Apr 28, 2025): Hello @alexcupertme, We're currently reviewing our open issues and would like to verify if this problem still exists in the [latest NetBird version](https://github.com/netbirdio/netbird/releases). Could you please confirm if the issue is still there? We may close this issue temporarily if we don't hear back from you within **2 weeks**, but feel free to reopen it with updated information. Thanks for your contribution to improving the project!
Author
Owner

@mrll commented on GitHub (May 14, 2025):

@nazarewk I can confirm this issue still exists in the current version.

As soon as there is one capital letter in the group name, it is ignored by netbird.

<!-- gh-comment-id:2880647118 --> @mrll commented on GitHub (May 14, 2025): @nazarewk I can confirm this issue still exists in the current version. As soon as there is one capital letter in the group name, it is ignored by netbird.
Author
Owner

@nazarewk commented on GitHub (May 14, 2025):

@mrll are we talking about Cloud or self-hosted?
As far as I know we were parsing Groups off JWT tokent for only a short time and abandoned the idea on behalf of the "IdP Sync" feature in the Cloud offering.

Unless I'm missing something I don't think this is expected to work at all.

<!-- gh-comment-id:2880661839 --> @nazarewk commented on GitHub (May 14, 2025): @mrll are we talking about Cloud or self-hosted? As far as I know we were parsing Groups off JWT tokent for only a short time and abandoned the idea on behalf of the "IdP Sync" feature in the Cloud offering. Unless I'm missing something I don't think this is expected to work at all.
Author
Owner

@Coler-e commented on GitHub (Sep 16, 2025):

Some input on this, I can attest the current version works with groups having capitalized letters :

Image

also @nazarewk will the IdP Sync functionnality trickle down to the open-source version at one point or is JWT Token parsing here to stay?

<!-- gh-comment-id:3299744076 --> @Coler-e commented on GitHub (Sep 16, 2025): Some input on this, I can attest the current version works with groups having capitalized letters : <img width="1425" height="87" alt="Image" src="https://github.com/user-attachments/assets/d7950fbf-0ed1-418e-87cf-c77ac08cea0f" /> also @nazarewk will the IdP Sync functionnality trickle down to the open-source version at one point or is JWT Token parsing here to stay?
Author
Owner

@luckylinux commented on GitHub (Jun 9, 2026):

This is broken.

Not only with Capitalized Letters, in all Cases, in the self-hosted Version.

JWT Claim is netbird_entitlements and all Groups only contain Alphabetic Lowercase Characters as well as underscores (netbird_admins, netbird_users).

JWT Claim is completely ignored. It seems only a hardcoded Value groups works 😕.

What's the point of a Configuration Setting if then the hardcoded Value is used anyways ? It's just super confusing.

Any Idea on how to set a higher Debug level so it's possible to better troubleshoot ? If I enabled JWT allow groups I got locked out and the only this Message was visible in the Logs:

[context: HTTP, requestID: d8jq6fqpt3ng00bpi0rg] management/server/http/middleware/auth_middleware.go:90: Error when validating JWT: user does not belong to any of the allowed JWT groups

If JWT allow groups was disabled, then I see absolutely nothing at all 😕.

Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.878Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.878Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7qg] management/server/http/middleware/auth_middleware.go:146: Auth middleware sets accountId from ensure, before , now d8frvda6g9c0009qvffg
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7s0] management/server/http/middleware/auth_middleware.go:146: Auth middleware sets accountId from ensure, before , now d8frvda6g9c0009qvffg
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7r0] management/server/http/middleware/auth_middleware.go:146: Auth middleware sets accountId from ensure, before , now d8frvda6g9c0009qvffg
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7rg] management/server/http/middleware/auth_middleware.go:146: Auth middleware sets accountId from ensure, before , now d8frvda6g9c0009qvffg
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.881Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7sg] management/server/store/sql_store.go:3610: transaction took 2.728306ms
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.881Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7qg] management/server/store/sql_store.go:3610: transaction took 1.37031ms
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.881Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.882Z TRAC [requestID: d8jqedd57o1g009te7r0, context: HTTP] management/server/store/sql_store.go:3610: transaction took 2.196616ms
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.883Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7rg] management/server/store/sql_store.go:3610: transaction took 1.22166ms
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.884Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7rg, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7rg: GET /api/instance/version status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.884Z DEBG [accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7rg] management/server/telemetry/http_api_metrics.go:217: request GET /api/instance/version took 12 ms and finished with status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.887Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7r0, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7r0: GET /api/accounts status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.887Z DEBG [requestID: d8jqedd57o1g009te7r0, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP] management/server/telemetry/http_api_metrics.go:217: request GET /api/accounts took 15 ms and finished with status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.888Z TRAC [userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7qg, accountID: d8frvda6g9c0009qvffg] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7qg: GET /api/peers status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.888Z DEBG [accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7qg] management/server/telemetry/http_api_metrics.go:217: request GET /api/peers took 16 ms and finished with status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.895Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7s0] management/server/store/sql_store.go:3610: transaction took 15.337987ms
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.896Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7s0, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7s0: GET /api/groups status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.897Z DEBG [context: HTTP, requestID: d8jqedd57o1g009te7s0, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] management/server/telemetry/http_api_metrics.go:217: request GET /api/groups took 24 ms and finished with status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.910Z TRAC [userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7sg, accountID: d8frvda6g9c0009qvffg] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7sg: GET /api/locations/countries status 200
Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.910Z DEBG [accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7sg] management/server/telemetry/http_api_metrics.go:217: request GET /api/locations/countries took 38 ms and finished with status 200

I explicitely bundled this netbird_entitlements with Scope groups or profile (in Authentik IdP) in order for it to get automatically passed to Netbird, since it's NOT possible to configure Custom Scopes, since then DEX will basically crash if I were to add them to the list of requested Scopes:

AUTH_SUPPORTED_SCOPES=openid profile email groups netbird_entitlements
<!-- gh-comment-id:4656498021 --> @luckylinux commented on GitHub (Jun 9, 2026): This is broken. Not only with Capitalized Letters, in all Cases, in the self-hosted Version. JWT Claim is `netbird_entitlements` and all Groups only contain Alphabetic Lowercase Characters as well as underscores (`netbird_admins`, `netbird_users`). `JWT Claim` is completely ignored. It seems only a hardcoded Value `groups` works 😕. What's the point of a Configuration Setting if then the hardcoded Value is used anyways ? It's just super confusing. Any Idea on how to set a higher Debug level so it's possible to better troubleshoot ? If I enabled `JWT allow groups` I got locked out and the only this Message was visible in the Logs: ``` [context: HTTP, requestID: d8jq6fqpt3ng00bpi0rg] management/server/http/middleware/auth_middleware.go:90: Error when validating JWT: user does not belong to any of the allowed JWT groups ``` If `JWT allow groups` was disabled, then I see absolutely nothing at all 😕. ``` Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.878Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.878Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7qg] management/server/http/middleware/auth_middleware.go:146: Auth middleware sets accountId from ensure, before , now d8frvda6g9c0009qvffg Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7s0] management/server/http/middleware/auth_middleware.go:146: Auth middleware sets accountId from ensure, before , now d8frvda6g9c0009qvffg Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7r0] management/server/http/middleware/auth_middleware.go:146: Auth middleware sets accountId from ensure, before , now d8frvda6g9c0009qvffg Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7rg] management/server/http/middleware/auth_middleware.go:146: Auth middleware sets accountId from ensure, before , now d8frvda6g9c0009qvffg Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.879Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.881Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7sg] management/server/store/sql_store.go:3610: transaction took 2.728306ms Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.881Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7qg] management/server/store/sql_store.go:3610: transaction took 1.37031ms Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.881Z DEBG shared/auth/jwt/extractor.go:165: JWT claim "netbird_entitlements" is missing Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.882Z TRAC [requestID: d8jqedd57o1g009te7r0, context: HTTP] management/server/store/sql_store.go:3610: transaction took 2.196616ms Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.883Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7rg] management/server/store/sql_store.go:3610: transaction took 1.22166ms Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.884Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7rg, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7rg: GET /api/instance/version status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.884Z DEBG [accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7rg] management/server/telemetry/http_api_metrics.go:217: request GET /api/instance/version took 12 ms and finished with status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.887Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7r0, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7r0: GET /api/accounts status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.887Z DEBG [requestID: d8jqedd57o1g009te7r0, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP] management/server/telemetry/http_api_metrics.go:217: request GET /api/accounts took 15 ms and finished with status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.888Z TRAC [userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7qg, accountID: d8frvda6g9c0009qvffg] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7qg: GET /api/peers status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.888Z DEBG [accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7qg] management/server/telemetry/http_api_metrics.go:217: request GET /api/peers took 16 ms and finished with status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.895Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7s0] management/server/store/sql_store.go:3610: transaction took 15.337987ms Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.896Z TRAC [context: HTTP, requestID: d8jqedd57o1g009te7s0, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7s0: GET /api/groups status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.897Z DEBG [context: HTTP, requestID: d8jqedd57o1g009te7s0, accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] management/server/telemetry/http_api_metrics.go:217: request GET /api/groups took 24 ms and finished with status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.910Z TRAC [userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7sg, accountID: d8frvda6g9c0009qvffg] management/server/telemetry/http_api_metrics.go:206: HTTP response d8jqedd57o1g009te7sg: GET /api/locations/countries status 200 Jun 09 07:40:05 netbird netbird-server[531277]: 2026-06-09T05:40:05.910Z DEBG [accountID: d8frvda6g9c0009qvffg, userID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, context: HTTP, requestID: d8jqedd57o1g009te7sg] management/server/telemetry/http_api_metrics.go:217: request GET /api/locations/countries took 38 ms and finished with status 200 ``` I explicitely bundled this `netbird_entitlements` with Scope `groups` or `profile` (in Authentik IdP) in order for it to get automatically passed to Netbird, since it's **NOT** possible to configure Custom Scopes, since then DEX will basically crash if I were to add them to the list of requested Scopes: ``` AUTH_SUPPORTED_SCOPES=openid profile email groups netbird_entitlements ```
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#5778