-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
On systems with keychain support, automatically just create a random master authentication password and store in keychain #55144
Conversation
Much welcome. 👍 |
Great UX improvement, I give you that. But I am a little worried about the user not knowing the automatically created master password. How would this work with use case (quite common AFAIK) of creating an auth DB on the client to be used and transferred to the server? Also, it would be make it difficult to transfer the auth DB to another machine. |
Ideally we would improve the export/import workflow for this, either by making it possible to import the current transfer xml on server or by allowing to export a complete auth db. This will allow the user to distinguish from their local password (which they may or may not know) and a transfer / shared password per shared config. For any other case the "follow ups needed" mentioned by @nyalldawson sound reasonable. |
Big +1, I can't count the number of times friends and users I've initiated to QGIS come to me about this scary dialog. On the transferability, we have import/export to/from XML which we can rely on. |
Testimony I am not a daily user of the QGIS password manager but we have done a couple of QGIS server installations but one issue we stumble on is the data (project and password) synchronisation between the desktop and the server. For what we have seen, end users do not know the *.db files and how to use them (they mainly save the passwords in the provider UI). So we explain to the desktop end users the usage of Worries
|
Thanks for all the discussion! Here's a couple of answers to questions raised:
The user should (theoretically?) still be able to retrieve the auto generated password by checking their system keychain, but I'm not 100% sure if that's possible on all platforms. At least on KDE/GNOME I know it is, not sure about Windows/Mac.
I'd say we address this by improving the ability to change the default random password to a user set one, by:
I think the above workflow solves this use case -- a user who needs a specific password to transfer/reuse databases would just change the auto generated pw to their desired pw.
Agreed. I think the auth system is a good design, but the current UI for it is too complex for mere-mortal users to understand 🤣 . And this ultimately results in users making less secure choices...!
See above answer to @elpaso -- I think for this use case you would instruct the user to change the default auto password to a specific manually set one, which they can reuse on the server.
😱 I'd rather not! 🤣 Again, theoretically the user can always retrieve the password at any stage from their keychain/wallet software itself. So it's not actually the "set once and it's lost" scenario which we'd normally get with private keys.
There's existing code in the auth framework which allows users to change their password, and this already has the logic for decrypt using old -> reencrypt using new. So it should be possible already to change a password in place without resetting the database, assuming that the user has the existing password. (Or are there bugs in this process which block this from working? I did a quick scan earlier to look for open tickets relating to master passwords and couldn't find much.)
Can you expand on this? In my understanding it won't be any different to the situation where a user manually creates the master password and it's stored in the keychain. It's just that instead of forcing a user to set that password, we're doing it automatically for them. But there's a very good chance I'm missing something here 😆
Agreed. That page really should be split up into two, with the back end bits moved to the developer documentation (ping @DelazJ ) |
Two more things to add:
|
what do you think about relying more on import/export workflows when the configuration needs to be shared with other systems.
To me it sounds like better UX and possibly more (and certainly not less) security, but I may be missing something? |
@m-kuhn I don't disagree, but does it make any actual difference to the functionality we expose? There's already import/export available, but also db sharing with common passwords works too |
Import/export works for the desktop (and mobile) case, but I don't think it works for server. I think we would benefit from improving this and making this the recommended best practice. This would probably void many (all?) of the questions and doubts raised in here. Or is there a use case where we really need the system/user profile auth db with the system/user password to be shared? |
My bad! I was misunderstanding the link between the QKeychain lib and the OS keychain manager! |
All these changes are OK if the (advanced) user can easily retrieve the generated password in the keychain. Running Ubuntu/Gnome, Seahorse was not installed by default and I did not find any solution to show/retrieve registered password without it. What is the status for Windows or Mac? |
This is fixed in #55227 |
This is fixed in #55228 |
master authentication password and store in keychain This avoids the need for users to manually create a pw, and makes things MUCH nicer for plugins which want to utilise the secure authentication framework. Right now the options for plugins are: 1. Create a auto generated password themselves and force it on the user (basically what we are doing here automatically now) 2. Show a confusing/scary message to users asking them to set a master password. From my experience users have NO idea what this means and consider it a QGIS bug.
1c0515e
to
eebb326
Compare
This is done now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I've created a QEP at qgis/QGIS-Enhancement-Proposals#278 for greater discussion |
The QGIS project highly values your contribution and would love to see this work merged! Unfortunately this PR has not had any activity in the last 14 days and is being automatically marked as "stale". If you think this pull request should be merged, please check
|
While we hate to see this happen, this PR has been automatically closed because it has not had any activity in the last 21 days. If this pull request should be reconsidered, please follow the guidelines in the previous comment and reopen this pull request. Or, if you have any further questions, just ask! We love to help, and if there's anything the QGIS project can do to help push this PR forward please let us know how we can assist. |
This avoids the need for users to manually create a pw, and makes things MUCH nicer for plugins which want to utilise the secure authentication framework.
Right now the options for plugins are:
Assuming this is acceptable, some follow up is needed: