Netbird with IDP Azure - statusCode 403 #2248

Closed
opened 2025-11-20 07:06:28 -05:00 by saavagebueno · 1 comment
Owner

Originally created by @omargohan on GitHub (Sep 6, 2025).

Describe the problem

I'm following the guide to connect netbird to Microsoft Entra ID, I have created the netbird application and ran the configure.sh script to generate the necessary artifacts, but I'm getting the following error:

Console

Image
management-1  | 2025-09-06T20:53:27Z WARN management/server/account.go:250: failed warming up cache due to error: unable to get https://graph.microsoft.com/v1.0/users?%24select=id%2CdisplayName%2Cmail%2CuserPrincipalName&%24top=500, statusCode 403

WebUI

Image

Web console

Image

To Reproduce

Steps to reproduce the behavior:

  1. Clone repo
  2. Set environment variables
  3. Go to artifacts
  4. Start the containers
  5. Watch the logs

Expected behavior

The expectation is to have Netbird able to use Microsoft Entra ID as IDP.

Are you using NetBird Cloud?

No, this instance is self-hosted.

NetBird version

v0.56.0 (docker)

Is any other VPN software installed?

No.

Debug output

setup.env

NETBIRD_DOMAIN="DOMAIN.COM"
NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT="https://login.microsoftonline.com/14e**************************258/v2.0/.well-known/openid-configuration"
NETBIRD_AUTH_CLIENT_ID="02f************************a06"
NETBIRD_AUTH_SUPPORTED_SCOPES="openid profile email offline_access User.Read api://02f*********************a06/api"
NETBIRD_AUTH_AUDIENCE="02f************************a06"
NETBIRD_AUTH_REDIRECT_URI="/auth"
NETBIRD_AUTH_SILENT_REDIRECT_URI="/silent-auth"
NETBIRD_AUTH_USER_ID_CLAIM="oid"
NETBIRD_TOKEN_SOURCE="idToken"
NETBIRD_USE_AUTH0="false"
NETBIRD_AUTH_DEVICE_AUTH_PROVIDER="none"
NETBIRD_AUTH_DEVICE_AUTH_CLIENT_ID=""
NETBIRD_AUTH_DEVICE_AUTH_AUDIENCE=$NETBIRD_AUTH_AUDIENCE
NETBIRD_AUTH_DEVICE_AUTH_SCOPE="openid"
NETBIRD_AUTH_DEVICE_AUTH_USE_ID_TOKEN=false
NETBIRD_AUTH_PKCE_REDIRECT_URL_PORTS="53000"
NETBIRD_MGMT_IDP="azure"
NETBIRD_IDP_MGMT_CLIENT_ID="02f**************************a06"
NETBIRD_IDP_MGMT_CLIENT_SECRET="0**********************************G"
NETBIRD_IDP_MGMT_EXTRA_OBJECT_ID="17b************************f65"
NETBIRD_IDP_MGMT_EXTRA_GRAPH_API_ENDPOINT="https://graph.microsoft.com/v1.0"
NETBIRD_DISABLE_LETSENCRYPT=false

Output configure.sh

discovering server's public IP
loading OpenID configuration from https://login.microsoftonline.com/14e***********************258/v2.0/.well-known/openid-configuration to the openid-configuration.json file
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1753  100  1753    0     0  11193      0 --:--:-- --:--:-- --:--:-- 11165
NETBIRD_IDP_MGMT_EXTRA_GRAPH_API_ENDPOINT
NETBIRD_IDP_MGMT_EXTRA_OBJECT_ID
NETBIRD_AUTH_SUPPORTED_SCOPES=openid profile email offline_access User.Read api://02f****************************a06/api
NETBIRD_STORE_CONFIG_ENGINE=sqlite
NETBIRD_RELAY_DOMAIN=DOMAIN.COM
NETBIRD_MGMT_DNS_DOMAIN=net.io
NETBIRD_USE_AUTH0=false
NETBIRD_AUTH_PKCE_REDIRECT_URLS="http://localhost:53000"
NETBIRD_AUTH_AUDIENCE=02f*******************a06
NETBIRD_LETSENCRYPT_EMAIL=admin@DOMAIN.COM
NETBIRD_RELAY_ENDPOINT=rel://DOMAIN.COM:33080
NETBIRD_AUTH_DEVICE_AUTH_AUDIENCE=02f***************************a06
NETBIRD_LETSENCRYPT_DOMAIN=DOMAIN.COM
NETBIRD_TURN_EXTERNAL_IP=
NETBIRD_DASH_AUTH_USE_AUDIENCE=true
NETBIRD_AUTH_REDIRECT_URI=/auth
NETBIRD_AUTH_PKCE_AUDIENCE=02f***************************a06
NETBIRD_RELAY_TAG=latest
NETBIRD_MGMT_IDP_SIGNKEY_REFRESH=false
NETBIRD_IDP_MGMT_EXTRA_CONFIG={
NETBIRD_AUTH_PKCE_DISABLE_PROMPT_LOGIN=false
NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT=https://login.microsoftonline.com/14e*************************258/v2.0/.well-known/openid-configuration
NETBIRD_TOKEN_SOURCE=idToken
NETBIRD_MGMT_IDP=azure
NETBIRD_AUTH_DEVICE_AUTH_SCOPE=openid
NETBIRD_MGMT_API_ENDPOINT=https://DOMAIN.COM:33073
NETBIRD_DASH_AUTH_AUDIENCE=02f*****************************a06
NETBIRD_AUTH_SILENT_REDIRECT_URI=/silent-auth
NETBIRD_AUTH_USER_ID_CLAIM=oid
NETBIRD_AUTH_AUTHORITY=https://login.microsoftonline.com/14e********************************258/v2.0
NETBIRD_MANAGEMENT_TAG=latest
NETBIRD_IDP_MGMT_CLIENT_SECRET=0**********************************G
NETBIRD_IDP_MGMT_CLIENT_ID=02f*****************************a06
NETBIRD_MGMT_API_CERT_KEY_FILE=/etc/letsencrypt/live/DOMAIN.COM/privkey.pem
NETBIRD_MGMT_API_PORT=33073
NETBIRD_SIGNAL_PROTOCOL=http
NETBIRD_MGMT_SINGLE_ACCOUNT_MODE_DOMAIN=DOMAIN.COM
NETBIRD_MGMT_API_CERT_FILE=/etc/letsencrypt/live/DOMAIN.COM/fullchain.pem
NETBIRD_DASHBOARD_TAG=latest
NETBIRD_AUTH_DEVICE_AUTH_CLIENT_ID=
NETBIRD_RELAY_PORT=33080
NETBIRD_AUTH_DEVICE_AUTH_USE_ID_TOKEN=false
NETBIRD_AUTH_PKCE_LOGIN_FLAG=0
NETBIRD_RELAY_AUTH_SECRET=Za0*************************KWc
NETBIRD_DOMAIN=DOMAIN.COM
NETBIRD_SIGNAL_TAG=latest
NETBIRD_AUTH_DEVICE_AUTH_PROVIDER=none
NETBIRD_AUTH_TOKEN_ENDPOINT=https://login.microsoftonline.com/14e*****************************258/oauth2/v2.0/token
NETBIRD_SIGNAL_PORT=10000
NETBIRD_AUTH_PKCE_AUTHORIZATION_ENDPOINT=https://login.microsoftonline.com/14e***********************258/oauth2/v2.0/authorize
NETBIRD_AUTH_JWT_CERTS=https://login.microsoftonline.com/14e******************************258/discovery/v2.0/keys
NETBIRD_AUTH_CLIENT_ID=02f***********************a06
NETBIRD_AUTH_PKCE_USE_ID_TOKEN=true
NETBIRD_AUTH_DEVICE_AUTH_ENDPOINT=https://login.microsoftonline.com/14e***********************258/oauth2/v2.0/devicecode

openid-configuration.json

{
    "token_endpoint": "https://login.microsoftonline.com/14e**************************258/oauth2/v2.0/token",
    "token_endpoint_auth_methods_supported": [
        "client_secret_post",
        "private_key_jwt",
        "client_secret_basic"
    ],
    "jwks_uri": "https://login.microsoftonline.com/14e***************************258/discovery/v2.0/keys",
    "response_modes_supported": [
        "query",
        "fragment",
        "form_post"
    ],
    "subject_types_supported": [
        "pairwise"
    ],
    "id_token_signing_alg_values_supported": [
        "RS256"
    ],
    "response_types_supported": [
        "code",
        "id_token",
        "code id_token",
        "id_token token"
    ],
    "scopes_supported": [
        "openid",
        "profile",
        "email",
        "offline_access"
    ],
    "issuer": "https://login.microsoftonline.com/14e********************************258/v2.0",
    "request_uri_parameter_supported": false,
    "userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
    "authorization_endpoint": "https://login.microsoftonline.com/14e****************************258/oauth2/v2.0/authorize",
    "device_authorization_endpoint": "https://login.microsoftonline.com/14e************************258/oauth2/v2.0/devicecode",
    "http_logout_supported": true,
    "frontchannel_logout_supported": true,
    "end_session_endpoint": "https://login.microsoftonline.com/14e**************************258/oauth2/v2.0/logout",
    "claims_supported": [
        "sub",
        "iss",
        "cloud_instance_name",
        "cloud_instance_host_name",
        "cloud_graph_host_name",
        "msgraph_host",
        "aud",
        "exp",
        "iat",
        "auth_time",
        "acr",
        "nonce",
        "preferred_username",
        "name",
        "tid",
        "ver",
        "at_hash",
        "c_hash",
        "email"
    ],
    "kerberos_endpoint": "https://login.microsoftonline.com/14e**************************258/kerberos",
    "tenant_region_scope": "EU",
    "cloud_instance_name": "microsoftonline.com",
    "cloud_graph_host_name": "graph.windows.net",
    "msgraph_host": "graph.microsoft.com",
    "rbac_url": "https://pas.windows.net"
}

management.json

{
    "Stuns": [
        {
            "Proto": "udp",
            "URI": "stun:DOMAIN.COM:3478",
            "Username": "",
            "Password": ""
        }
    ],
    "TURNConfig": {
        "TimeBasedCredentials": false,
        "CredentialsTTL": "12h0m0s",
        "Secret": "secret",
        "Turns": [
            {
                "Proto": "udp",
                "URI": "turn:DOMAIN.COM:3478",
                "Username": "self",
                "Password": "e9A*********************************jfQ"
            }
        ]
    },
    "Relay": {
        "Addresses": [
            "rel://DOMAIN.COM:33080"
        ],
        "CredentialsTTL": "24h0m0s",
        "Secret": "Za0***************************KWc"
    },
    "Signal": {
        "Proto": "http",
        "URI": "DOMAIN.COM10000",
        "Username": "",
        "Password": ""
    },
    "Datadir": "/var/lib/netbird/",
    "DataStoreEncryptionKey": "h9x************************p8=",
    "HttpConfig": {
        "LetsEncryptDomain": "",
        "CertFile": "/etc/letsencrypt/live/DOMAIN.COM/fullchain.pem",
        "CertKey": "/etc/letsencrypt/live/DOMAIN.COM/privkey.pem",
        "AuthAudience": "02f*************************a06",
        "AuthIssuer": "https://login.microsoftonline.com/14e******************************258/v2.0",
        "AuthUserIDClaim": "oid",
        "AuthKeysLocation": "https://login.microsoftonline.com/14e**************************258/discovery/v2.0/keys",
        "OIDCConfigEndpoint": "https://login.microsoftonline.com/14e***************************258/v2.0/.well-known/openid-configuration",
        "IdpSignKeyRefreshEnabled": false,
        "ExtraAuthAudience": ""
    },
    "IdpManagerConfig": {
        "ManagerType": "azure",
        "ClientConfig": {
            "Issuer": "https://login.microsoftonline.com/14e**************************258/v2.0",
            "TokenEndpoint": "https://login.microsoftonline.com/14e**************************258/oauth2/v2.0/token",
            "ClientID": "02f************************a06",
            "ClientSecret": "0******************************G",
            "GrantType": "client_credentials"
        },
        "ExtraConfig": {
            "GraphApiEndpoint": "https://graph.microsoft.com/v1.0",
            "ObjectId": "17b*************************f65"
        },
        "Auth0ClientCredentials": null,
        "AzureClientCredentials": null,
        "KeycloakClientCredentials": null,
        "ZitadelClientCredentials": null
    },
    "DeviceAuthorizationFlow": {
        "Provider": "none",
        "ProviderConfig": {
            "ClientID": "",
            "ClientSecret": "",
            "Domain": "",
            "Audience": "02**************************a06",
            "TokenEndpoint": "https://login.microsoftonline.com/14e**************************258/oauth2/v2.0/token",
            "DeviceAuthEndpoint": "https://login.microsoftonline.com/14e***********************258/oauth2/v2.0/devicecode",
            "AuthorizationEndpoint": "",
            "Scope": "openid",
            "UseIDToken": false,
            "RedirectURLs": null,
            "DisablePromptLogin": false,
            "LoginFlag": 0
        }
    },
    "PKCEAuthorizationFlow": {
        "ProviderConfig": {
            "ClientID": "02f**************************a06",
            "ClientSecret": "",
            "Domain": "",
            "Audience": "02f*************************a06",
            "TokenEndpoint": "https://login.microsoftonline.com/14e*************************258/oauth2/v2.0/token",
            "DeviceAuthEndpoint": "",
            "AuthorizationEndpoint": "https://login.microsoftonline.com/14e***********************258/oauth2/v2.0/authorize",
            "Scope": "openid profile email offline_access User.Read.All api://02f*************************a06/api",
            "UseIDToken": true,
            "RedirectURLs": [
                "http://localhost:53000"
            ],
            "DisablePromptLogin": false,
            "LoginFlag": 0
        }
    },
    "StoreConfig": {
        "Engine": "sqlite"
    },
    "ReverseProxy": {
        "TrustedHTTPProxies": [],
        "TrustedHTTPProxiesCount": 0,
        "TrustedPeers": [
            "0.0.0.0/0"
        ]
    },
    "DisableDefaultPolicy": true
}

Screenshots

Firewall

Image

Netbird app

Image

AAD Manifest

Image

Microsoft Graph Manifest

Image

Authentication

Image Image

Secrets

Image

API permissions

Image

Expose an API

Image Image

Additional context

I noticed the env variable NETBIRD_IDP_MGMT_EXTRA_CONFIG has a { in the output of the configure.sh script

NETBIRD_IDP_MGMT_EXTRA_CONFIG={

Have you tried these troubleshooting steps?

  • Reviewed client troubleshooting (if applicable)
  • Checked for newer NetBird versions
  • Searched for similar issues on GitHub (including closed ones)
  • Restarted the NetBird client
  • Disabled other VPN software (N/A)
  • Checked firewall settings (N/A)
Originally created by @omargohan on GitHub (Sep 6, 2025). **Describe the problem** I'm following the [guide](https://docs.netbird.io/selfhosted/identity-providers#azure-ad-microsoft-entra-id) to connect netbird to Microsoft Entra ID, I have created the netbird application and ran the configure.sh script to generate the necessary artifacts, but I'm getting the following error: Console <img width="1912" height="122" alt="Image" src="https://github.com/user-attachments/assets/c124aecd-9676-4294-a2fe-ad5a50af0757" /> ``` management-1 | 2025-09-06T20:53:27Z WARN management/server/account.go:250: failed warming up cache due to error: unable to get https://graph.microsoft.com/v1.0/users?%24select=id%2CdisplayName%2Cmail%2CuserPrincipalName&%24top=500, statusCode 403 ``` WebUI <img width="505" height="292" alt="Image" src="https://github.com/user-attachments/assets/fb127863-9a6c-49bb-a148-ff2329c40f93" /> Web console <img width="439" height="162" alt="Image" src="https://github.com/user-attachments/assets/88e2169f-e4d5-4397-afbd-38057b052e9d" /> **To Reproduce** Steps to reproduce the behavior: 1. Clone repo 2. Set environment variables 3. Go to artifacts 4. Start the containers 5. Watch the logs **Expected behavior** The expectation is to have Netbird able to use Microsoft Entra ID as IDP. **Are you using NetBird Cloud?** No, this instance is self-hosted. **NetBird version** v0.56.0 (docker) **Is any other VPN software installed?** No. **Debug output** setup.env ``` NETBIRD_DOMAIN="DOMAIN.COM" NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT="https://login.microsoftonline.com/14e**************************258/v2.0/.well-known/openid-configuration" NETBIRD_AUTH_CLIENT_ID="02f************************a06" NETBIRD_AUTH_SUPPORTED_SCOPES="openid profile email offline_access User.Read api://02f*********************a06/api" NETBIRD_AUTH_AUDIENCE="02f************************a06" NETBIRD_AUTH_REDIRECT_URI="/auth" NETBIRD_AUTH_SILENT_REDIRECT_URI="/silent-auth" NETBIRD_AUTH_USER_ID_CLAIM="oid" NETBIRD_TOKEN_SOURCE="idToken" NETBIRD_USE_AUTH0="false" NETBIRD_AUTH_DEVICE_AUTH_PROVIDER="none" NETBIRD_AUTH_DEVICE_AUTH_CLIENT_ID="" NETBIRD_AUTH_DEVICE_AUTH_AUDIENCE=$NETBIRD_AUTH_AUDIENCE NETBIRD_AUTH_DEVICE_AUTH_SCOPE="openid" NETBIRD_AUTH_DEVICE_AUTH_USE_ID_TOKEN=false NETBIRD_AUTH_PKCE_REDIRECT_URL_PORTS="53000" NETBIRD_MGMT_IDP="azure" NETBIRD_IDP_MGMT_CLIENT_ID="02f**************************a06" NETBIRD_IDP_MGMT_CLIENT_SECRET="0**********************************G" NETBIRD_IDP_MGMT_EXTRA_OBJECT_ID="17b************************f65" NETBIRD_IDP_MGMT_EXTRA_GRAPH_API_ENDPOINT="https://graph.microsoft.com/v1.0" NETBIRD_DISABLE_LETSENCRYPT=false ``` Output configure.sh ``` discovering server's public IP loading OpenID configuration from https://login.microsoftonline.com/14e***********************258/v2.0/.well-known/openid-configuration to the openid-configuration.json file % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1753 100 1753 0 0 11193 0 --:--:-- --:--:-- --:--:-- 11165 NETBIRD_IDP_MGMT_EXTRA_GRAPH_API_ENDPOINT NETBIRD_IDP_MGMT_EXTRA_OBJECT_ID NETBIRD_AUTH_SUPPORTED_SCOPES=openid profile email offline_access User.Read api://02f****************************a06/api NETBIRD_STORE_CONFIG_ENGINE=sqlite NETBIRD_RELAY_DOMAIN=DOMAIN.COM NETBIRD_MGMT_DNS_DOMAIN=net.io NETBIRD_USE_AUTH0=false NETBIRD_AUTH_PKCE_REDIRECT_URLS="http://localhost:53000" NETBIRD_AUTH_AUDIENCE=02f*******************a06 NETBIRD_LETSENCRYPT_EMAIL=admin@DOMAIN.COM NETBIRD_RELAY_ENDPOINT=rel://DOMAIN.COM:33080 NETBIRD_AUTH_DEVICE_AUTH_AUDIENCE=02f***************************a06 NETBIRD_LETSENCRYPT_DOMAIN=DOMAIN.COM NETBIRD_TURN_EXTERNAL_IP= NETBIRD_DASH_AUTH_USE_AUDIENCE=true NETBIRD_AUTH_REDIRECT_URI=/auth NETBIRD_AUTH_PKCE_AUDIENCE=02f***************************a06 NETBIRD_RELAY_TAG=latest NETBIRD_MGMT_IDP_SIGNKEY_REFRESH=false NETBIRD_IDP_MGMT_EXTRA_CONFIG={ NETBIRD_AUTH_PKCE_DISABLE_PROMPT_LOGIN=false NETBIRD_AUTH_OIDC_CONFIGURATION_ENDPOINT=https://login.microsoftonline.com/14e*************************258/v2.0/.well-known/openid-configuration NETBIRD_TOKEN_SOURCE=idToken NETBIRD_MGMT_IDP=azure NETBIRD_AUTH_DEVICE_AUTH_SCOPE=openid NETBIRD_MGMT_API_ENDPOINT=https://DOMAIN.COM:33073 NETBIRD_DASH_AUTH_AUDIENCE=02f*****************************a06 NETBIRD_AUTH_SILENT_REDIRECT_URI=/silent-auth NETBIRD_AUTH_USER_ID_CLAIM=oid NETBIRD_AUTH_AUTHORITY=https://login.microsoftonline.com/14e********************************258/v2.0 NETBIRD_MANAGEMENT_TAG=latest NETBIRD_IDP_MGMT_CLIENT_SECRET=0**********************************G NETBIRD_IDP_MGMT_CLIENT_ID=02f*****************************a06 NETBIRD_MGMT_API_CERT_KEY_FILE=/etc/letsencrypt/live/DOMAIN.COM/privkey.pem NETBIRD_MGMT_API_PORT=33073 NETBIRD_SIGNAL_PROTOCOL=http NETBIRD_MGMT_SINGLE_ACCOUNT_MODE_DOMAIN=DOMAIN.COM NETBIRD_MGMT_API_CERT_FILE=/etc/letsencrypt/live/DOMAIN.COM/fullchain.pem NETBIRD_DASHBOARD_TAG=latest NETBIRD_AUTH_DEVICE_AUTH_CLIENT_ID= NETBIRD_RELAY_PORT=33080 NETBIRD_AUTH_DEVICE_AUTH_USE_ID_TOKEN=false NETBIRD_AUTH_PKCE_LOGIN_FLAG=0 NETBIRD_RELAY_AUTH_SECRET=Za0*************************KWc NETBIRD_DOMAIN=DOMAIN.COM NETBIRD_SIGNAL_TAG=latest NETBIRD_AUTH_DEVICE_AUTH_PROVIDER=none NETBIRD_AUTH_TOKEN_ENDPOINT=https://login.microsoftonline.com/14e*****************************258/oauth2/v2.0/token NETBIRD_SIGNAL_PORT=10000 NETBIRD_AUTH_PKCE_AUTHORIZATION_ENDPOINT=https://login.microsoftonline.com/14e***********************258/oauth2/v2.0/authorize NETBIRD_AUTH_JWT_CERTS=https://login.microsoftonline.com/14e******************************258/discovery/v2.0/keys NETBIRD_AUTH_CLIENT_ID=02f***********************a06 NETBIRD_AUTH_PKCE_USE_ID_TOKEN=true NETBIRD_AUTH_DEVICE_AUTH_ENDPOINT=https://login.microsoftonline.com/14e***********************258/oauth2/v2.0/devicecode ``` openid-configuration.json ``` { "token_endpoint": "https://login.microsoftonline.com/14e**************************258/oauth2/v2.0/token", "token_endpoint_auth_methods_supported": [ "client_secret_post", "private_key_jwt", "client_secret_basic" ], "jwks_uri": "https://login.microsoftonline.com/14e***************************258/discovery/v2.0/keys", "response_modes_supported": [ "query", "fragment", "form_post" ], "subject_types_supported": [ "pairwise" ], "id_token_signing_alg_values_supported": [ "RS256" ], "response_types_supported": [ "code", "id_token", "code id_token", "id_token token" ], "scopes_supported": [ "openid", "profile", "email", "offline_access" ], "issuer": "https://login.microsoftonline.com/14e********************************258/v2.0", "request_uri_parameter_supported": false, "userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo", "authorization_endpoint": "https://login.microsoftonline.com/14e****************************258/oauth2/v2.0/authorize", "device_authorization_endpoint": "https://login.microsoftonline.com/14e************************258/oauth2/v2.0/devicecode", "http_logout_supported": true, "frontchannel_logout_supported": true, "end_session_endpoint": "https://login.microsoftonline.com/14e**************************258/oauth2/v2.0/logout", "claims_supported": [ "sub", "iss", "cloud_instance_name", "cloud_instance_host_name", "cloud_graph_host_name", "msgraph_host", "aud", "exp", "iat", "auth_time", "acr", "nonce", "preferred_username", "name", "tid", "ver", "at_hash", "c_hash", "email" ], "kerberos_endpoint": "https://login.microsoftonline.com/14e**************************258/kerberos", "tenant_region_scope": "EU", "cloud_instance_name": "microsoftonline.com", "cloud_graph_host_name": "graph.windows.net", "msgraph_host": "graph.microsoft.com", "rbac_url": "https://pas.windows.net" } ``` management.json ``` { "Stuns": [ { "Proto": "udp", "URI": "stun:DOMAIN.COM:3478", "Username": "", "Password": "" } ], "TURNConfig": { "TimeBasedCredentials": false, "CredentialsTTL": "12h0m0s", "Secret": "secret", "Turns": [ { "Proto": "udp", "URI": "turn:DOMAIN.COM:3478", "Username": "self", "Password": "e9A*********************************jfQ" } ] }, "Relay": { "Addresses": [ "rel://DOMAIN.COM:33080" ], "CredentialsTTL": "24h0m0s", "Secret": "Za0***************************KWc" }, "Signal": { "Proto": "http", "URI": "DOMAIN.COM10000", "Username": "", "Password": "" }, "Datadir": "/var/lib/netbird/", "DataStoreEncryptionKey": "h9x************************p8=", "HttpConfig": { "LetsEncryptDomain": "", "CertFile": "/etc/letsencrypt/live/DOMAIN.COM/fullchain.pem", "CertKey": "/etc/letsencrypt/live/DOMAIN.COM/privkey.pem", "AuthAudience": "02f*************************a06", "AuthIssuer": "https://login.microsoftonline.com/14e******************************258/v2.0", "AuthUserIDClaim": "oid", "AuthKeysLocation": "https://login.microsoftonline.com/14e**************************258/discovery/v2.0/keys", "OIDCConfigEndpoint": "https://login.microsoftonline.com/14e***************************258/v2.0/.well-known/openid-configuration", "IdpSignKeyRefreshEnabled": false, "ExtraAuthAudience": "" }, "IdpManagerConfig": { "ManagerType": "azure", "ClientConfig": { "Issuer": "https://login.microsoftonline.com/14e**************************258/v2.0", "TokenEndpoint": "https://login.microsoftonline.com/14e**************************258/oauth2/v2.0/token", "ClientID": "02f************************a06", "ClientSecret": "0******************************G", "GrantType": "client_credentials" }, "ExtraConfig": { "GraphApiEndpoint": "https://graph.microsoft.com/v1.0", "ObjectId": "17b*************************f65" }, "Auth0ClientCredentials": null, "AzureClientCredentials": null, "KeycloakClientCredentials": null, "ZitadelClientCredentials": null }, "DeviceAuthorizationFlow": { "Provider": "none", "ProviderConfig": { "ClientID": "", "ClientSecret": "", "Domain": "", "Audience": "02**************************a06", "TokenEndpoint": "https://login.microsoftonline.com/14e**************************258/oauth2/v2.0/token", "DeviceAuthEndpoint": "https://login.microsoftonline.com/14e***********************258/oauth2/v2.0/devicecode", "AuthorizationEndpoint": "", "Scope": "openid", "UseIDToken": false, "RedirectURLs": null, "DisablePromptLogin": false, "LoginFlag": 0 } }, "PKCEAuthorizationFlow": { "ProviderConfig": { "ClientID": "02f**************************a06", "ClientSecret": "", "Domain": "", "Audience": "02f*************************a06", "TokenEndpoint": "https://login.microsoftonline.com/14e*************************258/oauth2/v2.0/token", "DeviceAuthEndpoint": "", "AuthorizationEndpoint": "https://login.microsoftonline.com/14e***********************258/oauth2/v2.0/authorize", "Scope": "openid profile email offline_access User.Read.All api://02f*************************a06/api", "UseIDToken": true, "RedirectURLs": [ "http://localhost:53000" ], "DisablePromptLogin": false, "LoginFlag": 0 } }, "StoreConfig": { "Engine": "sqlite" }, "ReverseProxy": { "TrustedHTTPProxies": [], "TrustedHTTPProxiesCount": 0, "TrustedPeers": [ "0.0.0.0/0" ] }, "DisableDefaultPolicy": true } ``` **Screenshots** Firewall <img width="695" height="849" alt="Image" src="https://github.com/user-attachments/assets/464b7046-dc5f-4c3b-932a-6c6b2fb07fd3" /> Netbird app <img width="436" height="198" alt="Image" src="https://github.com/user-attachments/assets/e609b15d-59ec-4cf0-9ab6-d2900e41aa59" /> AAD Manifest <img width="678" height="222" alt="Image" src="https://github.com/user-attachments/assets/84b60656-2ab2-4a0f-9113-43d62229657a" /> Microsoft Graph Manifest <img width="972" height="311" alt="Image" src="https://github.com/user-attachments/assets/9123be37-63e2-4844-ae2b-6f2cafc2d865" /> Authentication <img width="982" height="725" alt="Image" src="https://github.com/user-attachments/assets/029a9a74-7072-4d13-a2b9-459082259b43" /> <img width="789" height="723" alt="Image" src="https://github.com/user-attachments/assets/cce433cb-d4e4-4538-81a1-87d8c3a96d8f" /> Secrets <img width="1031" height="286" alt="Image" src="https://github.com/user-attachments/assets/dd817e47-7e75-4f51-bfa8-c5af55fde201" /> API permissions <img width="1038" height="661" alt="Image" src="https://github.com/user-attachments/assets/619ccf17-ce0e-4d83-8538-78ed85920907" /> Expose an API <img width="1631" height="600" alt="Image" src="https://github.com/user-attachments/assets/34d2cdd5-3332-47aa-8184-292ebef6752e" /> <img width="1631" height="600" alt="Image" src="https://github.com/user-attachments/assets/d03339a1-640b-4ac1-ab27-fdb9fe0cd635" /> **Additional context** I noticed the env variable NETBIRD_IDP_MGMT_EXTRA_CONFIG has a `{` in the output of the `configure.sh` script ``` NETBIRD_IDP_MGMT_EXTRA_CONFIG={ ``` **Have you tried these troubleshooting steps?** - [X] Reviewed [client troubleshooting](https://docs.netbird.io/how-to/troubleshooting-client) (if applicable) - [X] Checked for newer NetBird versions - [X] Searched for similar issues on GitHub (including closed ones) - [X] Restarted the NetBird client - [ ] Disabled other VPN software (N/A) - [x] Checked firewall settings (N/A)
saavagebueno added the triage-needed label 2025-11-20 07:06:28 -05:00
Author
Owner

@omargohan commented on GitHub (Sep 7, 2025):

Update

I changed the API permissions as per this youtube video and it worked.

Image

Leaving this information here for the next person facing a similar issue.

@omargohan commented on GitHub (Sep 7, 2025): **Update** I changed the API permissions as per this [youtube video ](https://youtu.be/RxYWTpf7cgY?t=216) and it worked. <img width="606" height="171" alt="Image" src="https://github.com/user-attachments/assets/04c1efb4-5811-4ff2-8c4a-5e5702505f90" /> Leaving this information here for the next person facing a similar issue.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#2248