Use Ubuntu SSO authentication and store authentication-key

Bug #1492309 reported by Nekhelesh Ramananthan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Checkbox Converged
Fix Released
Medium
Unassigned
Ubuntu Community Testing
Fix Released
High
Unassigned

Bug Description

It would be nice to use OAuth to login and store the user credentials. By using OAuth SSO authentication, the app will not store user credentials (which is a security nightmare) and at the same time can store the authentication-key to avoid asking the user to login repeatedly. One step less in uploading test results.

Related branches

summary: - Use Ubuntu SSO authentication and save user credentials
+ Use Ubuntu SSO authentication and store authentication-key
Revision history for this message
Brendan Donegan (brendan-donegan) wrote :

My understanding was that it is using OAuth, but you're certainly right that it's not storing the authentication key

Changed in ubuntu-community-testing:
status: New → Confirmed
Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

This is annoying enough that we should try and solve it at the least by saving the credentials. If possible it would be nice to grab the credentials directly since it's SSO, and the creds likely exist if the user installed from the store.

Changed in ubuntu-community-testing:
importance: Undecided → Medium
Revision history for this message
Christopher Lee (veebers) wrote :

I'm not sure there is a way to solve this without opening us up for a security nightmare. There is nothing that we can store that isn't sensitive (i.e. having the authentication token is pretty much the same as having the credentials) and anything that we can safely store is either one-off (and useless after that) or public anyway.

We could potentially utilise something like gnome keyring to store the creds, but then we still need to ask for a password for that (and then probably the OTP).

Is it that annoying to get people to authenticate each upload? If it is, perhaps we could investigate just removing that requirement.
It does mean opening ourselves up to more potential spam though (we could probably cull that, ensure that the upload at least makes sense.)
This option would ease the development in checkbox (i.e. no OAuth req.) but on the same token it would seem a waste to have put that work into it to drop it (although, sometimes the best thing to do is drop existing good work).

Revision history for this message
Nekhelesh Ramananthan (nik90) wrote :

I disagree that storing the authentication token is pretty much the same as storing the user credentials. The Authorization token will allow an attacker to only login to a user's account while the username and password is more serious since users tend to use the same password for different accounts and so storing the password (plain text or encrypted) is a much more serious security issue. I believe other apps that use OAuth safely store the authentication token since users generally have the power to disable authentication tokens easily using their account security options.

Changed in ubuntu-community-testing:
importance: Medium → High
Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

Pilot has shipped with the ability to remember the users email address between runs. This makes it less painful, but still not ideal.

Revision history for this message
Maciej Kisielewski (kissiel) wrote :

I'm marking this as 'In progress', as both Christopher and I worked on this and this case is still not done.
There was a discussion about how should we deal with importing python oauthlib that might not be present on the target system.

After evaluating idea of packaging all required dependencies for Precise and Trusty, we're back to the strategy of conditionally importing oauthlib and providing the OAuthTransport only when the import was successful.

Changed in checkbox-converged:
status: New → In Progress
importance: Undecided → Medium
Changed in checkbox-converged:
status: In Progress → Fix Released
Changed in ubuntu-community-testing:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.