-
Notifications
You must be signed in to change notification settings - Fork 175
windows: store key@service if a non empty key is given #279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@akallabeth I believe |
|
@KangLin no, that contradicts the way
so, this needs to be done by qtkeychain rather than outside of it. |
75a8453 to
88321f8
Compare
|
@KangLin also, |
@akallabeth The |
|
@akallabeth I think you are complicating this a bit. |
|
@KangLin please read: qtkeychain/qtkeychain/keychain.h Line 181 in 7668a63
|
OK. It does not conflict with following the URL scheme. So that It should be explicitly determined by the user, rather than implicitly in the program. |
I don't get your point. would gladly remove this thing if you know a way |
|
@KangLin if you want to control the naming all the way you also do have to simply use an empty |
|
@akallabeth The |
|
Using a URL scheme for the service can avoid naming conflicts. |
|
@KangLin also, you can set anything as |
and your used type of a |
Yes. So leave the right to set up the |
you can set your not getting your point at all, the use case this is for is that the way on other platforms this works is:
but |
I understand what you mean. But it is different from Windows credentials. |
|
I think it makes more sense to understand this namespace as the namespace of a |
no. it is a normal credential without a username. (that is already encoded into the identifier) the windows credential manager is just very limited in displaying stuff, so it is that UI that may be confusing, but that is outside of stuff we can change ;) |
it is just as wrong as my (now ancient) commit that set it to [edit] as for if it identifies an application or something else, that is up to the use case |
Map |
then please answer my my question of how you want to read these credentials. |
Distinguished by different |
|
@akallabeth Please add |
|
@KangLin ok, so your agument is: please tell me I did not get that right.
no. |
88321f8 to
1c0d54d
Compare
Yes. Try to make it look the same as Windows credentials. |
|
The current implementation has no problems. It just needs a few comments added. |
1c0d54d to
a6af690
Compare
wrong. it stores all things in a global namespace and does not respect the way qtkeychain is supposed to work, breaking every multiplatform app that relies on this. I'm all ears for syntax (windows often uses so, once again: so, think of the setting a unique |
Please also add a runtime check, could we somehow "version" the behaviour? It might not be the last breaking change. |
|
@TheOneRing thinking about how to best do that. |
Yes, support for migration would even be better ❤️ |
So I suggest you add documentation explaining these differences. |
a6af690 to
b46724a
Compare
ok, done. |
b46724a to
728159b
Compare
Allow failed password reads to fall back to old behavior reading only key instead of key@service. This is an application specific setting.
migration is sadly out of the question, but now with the last 2 commits we have:
|
|
LGTM |
NOTE: Breaking change, the
servicewas ignored up until now. so all existing applications that stored secrets with a previous version will not be able to find the stored credentials.Just like #276 , but this actually resolves the issue.
Before a unique
keywas required, now only thekey@serviceneeds to be uniqueThis is required because the windows
APIidentifies a credential only byTargetNamewhich is neitherkeynorservicebut a combination of both.to keep a way of compatibility the build option
USE_COMPAT_NAMING_SCHEMEhas been introduced.@frankosterfeld don't know if required (windows applications will most likely bundle this themselves) but I could add a
QSettingsto check for that as well.