Skip to content

Instantly share code, notes, and snippets.

@undone37
Created May 7, 2026 09:40
Show Gist options
  • Select an option

  • Save undone37/b5a37a4da7b58e8f1806d38839ee8d8f to your computer and use it in GitHub Desktop.

Select an option

Save undone37/b5a37a4da7b58e8f1806d38839ee8d8f to your computer and use it in GitHub Desktop.
Fix Intune Portal for Linux 4kv4v Error

The login to Intune Portal fails on KDE Plasma with a Misconfiguration(0) error and a [4kv4v] code in the Microsoft auth window - same machine, same user, same tenant works under GNOME, the only difference being XDG_SESSION_DESKTOP.

The root cause: Intune Portal needs the freedesktop Secret portal (org.freedesktop.impl.portal.Secret) to store auth tokens. gnome-keyring implements the Secret portal backend - KWallet does not. So on a pure KDE box the lookup fails before the registration prompt is even shown, which is why you can't proceed past login. That's also why gnome-desktop-minimal "fixes" it: it pulls in gnome-keyring and xdg-desktop-portal-gtk as dependencies.

Minimal fix (no GNOME desktop)

Three things on top of plain KDE:

1. Install the keyring and the GTK portal backend:

sudo apt install gnome-keyring xdg-desktop-portal-gtk libsecret-1-0

2. Tell xdg-desktop-portal on KDE to use gnome-keyring for the Secret interface:

sudo install -d -m 0755 /etc/xdg/xdg-desktop-portal
sudo tee /etc/xdg/xdg-desktop-portal/kde-portals.conf >/dev/null <<'EOF'
[preferred]
default=kde
org.freedesktop.impl.portal.Secret=gnome-keyring
EOF

3. Make sure gnome-keyring-daemon actually starts in your KDE session. SDDM-based distributions usually pick up the PAM bits automatically once gnome-keyring is installed, but you should log out/in (or reboot) after step 1 so PAM re-evaluates. To verify after re-login:

systemctl --user status gnome-keyring-daemon || pgrep -a gnome-keyring
busctl --user list | grep -i secret      # should show org.freedesktop.secrets

If org.freedesktop.secrets is owned, you're good.

4. Wipe Intune's stale cache and try again:

rm -rf ~/.cache/intune-portal ~/.config/intune-portal
intune-portal
@erenoglu
Copy link
Copy Markdown

But doesn't the KDE Wallet provide the libsecret interface these days? Is this not enough?
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment