Bug 466197

Summary: Implement org.freedesktop.impl.portal.Secret
Product: [Plasma] xdg-desktop-portal-kde Reporter: Daniel Rusek <mail>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: wishlist CC: 4wy78uwh, aleixpol, bednarczyk.pawel, bizyaev, cheatumj, edarocha1324, heri+kde, hoperidesalone, jgrulich, jordan, justin.zobel, kde.xllzm, kdelibs-bugs, miranda, mk.mateng, nate, niiinjoe, poperigby, putr4.s
Priority: VHI    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: Frameworks 6.2
Sentry Crash Report:

Description Daniel Rusek 2023-02-21 14:42:08 UTC
The org.freedesktop.impl.portal.Secret interface was added a few years ago into gnome-keyring. This interface is needed for org.freedesktop.portal.Secret in xdg-desktop-portal to allow Flatpak apps to store credentials correctly. Although KWallet supports org.freedesktop.secrets since 5.97, it does not work with Flatpak apps because of the org.freedesktop.impl.portal.Secret support missing.

Here are more information / implementation details from the xdg-desktop-portal developer: https://github.com/flatpak/xdg-desktop-portal/issues/970#issuecomment-1438351750
Comment 1 Bug Janitor Service 2023-09-24 18:22:55 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kwallet/-/merge_requests/67
Comment 2 Méven 2024-04-21 16:29:10 UTC
Git commit 020427c8fb9d1dd6a41658131d1f80eee9171776 by Méven Car, on behalf of Nicolas Fella.
Committed on 21/04/2024 at 16:17.
Pushed by meven into branch 'master'.

Implement XDG Secrets Portal

This portal allows applications to obtain a master secret they can use to encrypt their data.

The secret is stored in KWallet.

If no secret exists yet a new one is generated

A  +66   -0    src/api/KWallet/org.freedesktop.impl.portal.Secret.xml
M  +7    -0    src/runtime/kwalletd/CMakeLists.txt
A  +4    -0    src/runtime/kwalletd/kwallet.portal
M  +3    -0    src/runtime/kwalletd/kwalletd.cpp
A  +99   -0    src/runtime/kwalletd/kwalletportalsecrets.cpp     [License: LGPL(v2.0+)]
A  +47   -0    src/runtime/kwalletd/kwalletportalsecrets.h     [License: LGPL(v2.0+)]

https://invent.kde.org/frameworks/kwallet/-/commit/020427c8fb9d1dd6a41658131d1f80eee9171776