Skip to content
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

Remove keyring requirement - replace with cookie/other token (gnome_keyring) #386

Closed
tzarebczan opened this issue Jul 26, 2017 · 16 comments
Closed
Labels
area: devops needs: exploration Solution unclear, needs research priority: medium Work needs to be done within 2-3 sprints type: improvement Existing (or partially existing) functionality needs to be changed

Comments

@tzarebczan
Copy link
Contributor

tzarebczan commented Jul 26, 2017

The Issue

We've had some complaints and seensome startup issues because users didn't have gnome keyring installed. From what I understand, it's not on all Linux distros and some people choose to use it for various reasons. Is it possible to generate the auth token in a different way for Linux? Possibly some hash of the wallet pubkey and timestamp?

Steps to reproduce

  1. Run bry-app without gnome keyring installed
  2. hangs on authenticating screen
  3. see daemon log below

Expected behaviour

Tell us what should happen

Actual behaviour

Tell us what happens instead

System Configuration

  • LBRY Daemon version: 0.13.1
  • LBRY App version: 0.13.0
  • LBRY Installation ID:
  • Operating system: Kubuntu

Anything Else

017-07-01 01:00:28,047 INFO     lbrynet.lbrynet_daemon.Daemon:531: Starting to setup up file manager
2017-07-01 01:00:28,073 INFO     lbrynet.lbryfilemanager.EncryptedFileManager:126: Started 0 lbry files
2017-07-01 01:00:28,073 INFO     lbrynet.lbrynet_daemon.Daemon:542: Done setting up file manager
2017-07-01 01:00:28,075 INFO     lbrynet.lbrynet_daemon.Daemon:271: Starting balance: 0
2017-07-01 01:00:28,075 INFO     lbrynet.lbrynet_daemon.Daemon:248: Started lbrynet-daemon
2017-07-01 01:00:28,076 INFO     lbrynet.lbrynet_daemon.Daemon:249: 0 blobs in manager
2017-07-01 01:00:28,974 INFO     lbrynet.core.Wallet:809: Resolving lbry://one
** Message: Remote error from secret service: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files
(node:5341) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: The name org.freedesktop.secrets was not provided by any .service files                                                                                              
(node:5341) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.                                                                        
** Message: Remote error from secret service: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files                                                                                                          
(node:5341) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: The name org.freedesktop.secrets was not provided by any .service files

Screenshots

@NeroBurner
Copy link

I have exactly the same error

Platform: {
    "lbrynet_version": "0.13.1",
    "platform": "Linux-4.11.9-1-ARCH-x86_64-with-glibc2.3.4",
    "os_system": "Linux",
    "python_version": "2.7.12",
    "os_release": "4.11.9-1-ARCH",
    "lbryum_version": "2.8.4",
    "ip": "Could not determine IP",
    "lbryschema_version": "0.0.7",
    "processor": "",
    "build": "release"
}

Running Arch Linux (Antergos) with KDE Plasma 5.10.4-1

@kauffj
Copy link
Member

kauffj commented Jul 26, 2017

We are using keytar: https://github.com/atom/node-keytar

Relevant code is at the end of this file: https://github.com/lbryio/lbry-app/blob/38fd451e72c60b0373a8e337bb1de1da37f7942a/app/main.js

It is unlikely we would prioritize this at the moment, but we'd be happy to bounty it.

@NeroBurner
Copy link

keytar uses libsecret, which is a frontend to gnome-keyring. KWallet does not support org.freedesktop.secrets

just installed the package gnome-keyring and everything workes fine

@tzarebczan
Copy link
Contributor Author

Similar issues are discussed here: #422 and #423

@filipnyquist
Copy link
Contributor

Some People cannot install the gnome-keyring as it Will put their current keyring out of place.

@kauffj
Copy link
Member

kauffj commented Sep 18, 2017

This issue seems to be pretty common -- we really ought to be at least erroring on this in a clean enough way that users understand what's happening if we can't fix it outright.

@tzarebczan
Copy link
Contributor Author

Opening this back up because the referenced file/commit (dbd147f) was changed to remove the dependency on gnome-keyring. This may have been during @IGassmann 's refactoring of the build process.

If you run the LBRY app on a KDE distro, the app fails to load anything on the front page as it's not able to get an authentication token.

Looks like keytar is supposed to support libsecret (atom/node-keytar#74) but it doesn't work as expected. I'm not sure what the next steps are - is it possible to just use libsecret instead of keytar, or they come hand in hand?

@tzarebczan tzarebczan reopened this Feb 20, 2018
@liamcardenas liamcardenas added type: improvement Existing (or partially existing) functionality needs to be changed area: devops needs: exploration Solution unclear, needs research and removed needs: triage area: devops labels Mar 2, 2018
@Krisseck
Copy link

Krisseck commented Jun 25, 2018

I can confirm that this is still an issue on a KDE-based distributions, the Explore page is blank and get this error on log:

┏ Electron -------------------

  ** Message: 10:40:35.238: Remote error from secret service: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files

┗ ----------------------------
┏ Electron -------------------

  (node:16689) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 9): Error: The name org.freedesktop.secrets was not provided by any .service files

┗ ----------------------------

The version I am using is v0.22.0-rc.14

@alyssaoc
Copy link
Contributor

@tzarebczan is this still happening

@alyssaoc alyssaoc removed this from the September 25 milestone Aug 21, 2018
@alyssaoc alyssaoc added the priority: low Work should be done but can stay in the backlog for now label Aug 21, 2018
@MattiP451
Copy link

MattiP451 commented Jun 23, 2019

I had to install gnome-keyring for LBRY 0.33.2 (and 0.33.1) to work. Without gnome-keyring it doesn't download or show any videos. I don't have to have or make an actual keyring for it to work but can just click cancel on the keyring window that pops up.

@tzarebczan
Copy link
Contributor Author

We'll try to remove this requirement in the next few months. Thanks for reaching out!

@tzarebczan tzarebczan changed the title Gnome Keyring required for auth_token generation? Remove keyring requirement - replace with cookie/other token Jun 26, 2019
@tzarebczan tzarebczan changed the title Remove keyring requirement - replace with cookie/other token Remove keyring requirement - replace with cookie/other token (gnome_keyring) Jun 26, 2019
@tzarebczan tzarebczan added priority: medium Work needs to be done within 2-3 sprints and removed priority: low Work should be done but can stay in the backlog for now labels Jun 26, 2019
@Ventriduct
Copy link

Ventriduct commented Mar 10, 2020

I'm having an issue where I can view content but when I try to sign in with my email, the page hangs. It doesn't get to the next screen titled "Check Your Email", nor does it send me the confirmation email. It works if I install the gnome-keyring package. It looks like that's not meant to be a dependency anymore and since I don't use gnome, I would greatly appreciate not needing it installed for LBRY.

Platform:

{
  "processor": "x86_64",
  "python_version": "3.7.6",
  "platform": "Linux-5.3.0-28-generic-x86_64-with-neon-18.04-bionic",
  "os_release": "5.3.0-28-generic",
  "os_system": "Linux",
  "lbrynet_version": "0.63.0",
  "version": "0.63.0",
  "build": "release",
  "distro": {
    "id": "neon",
    "version": "18.04",
    "version_parts": {
      "major": "18",
      "minor": "04",
      "build_number": ""
    },
    "like": "ubuntu debian",
    "codename": "bionic"
  },
  "desktop": "KDE"
}

Running KDE Neon User Edition 5.18 (Ubuntu 18.04 with KDE).

Thank you for the great app!
Ziah

@tzarebczan
Copy link
Contributor Author

Sorry for the trouble. Try out the build at the top of lbry.com/faq/startup-troubleshooting - this has it removed completely. You'll need to check back there or the releases page for future updates until we can fix this.

@Ventriduct
Copy link

Sorry for the trouble. Try out the build at the top of lbry.com/faq/startup-troubleshooting - this has it removed completely. You'll need to check back there or the releases page for future updates until we can fix this.

Thanks for the quick reply. I found out through a related issue on keytar that it supports my password manager keepassxc, I got that working instead of gnome-keyring and I'm going to use that for now.

Thanks,
Ziah

@Ventriduct
Copy link

@tzarebczan FYI, I spoke too soon, it didn't actually work once I clicked the link in the confirmation email. I checked KeePassXC and no auth token was stored there. Nothing was added with the Free Desktop secret service.

The build on that troubleshooting page works just fine.

@tzarebczan
Copy link
Contributor Author

We've removed it from the recent release (0.44), woohooo!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: devops needs: exploration Solution unclear, needs research priority: medium Work needs to be done within 2-3 sprints type: improvement Existing (or partially existing) functionality needs to be changed
Projects
None yet
Development

No branches or pull requests

10 participants