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

Closed
opened 2017-07-26 06:12:49 +02:00 by tzarebczan · 16 comments
tzarebczan commented 2017-07-26 06:12:49 +02:00 (Migrated from github.com)

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

<!-- Thanks for reporting an issue to LBRY and helping us improve! To make it possible for us to help you, please fill out below information carefully. Before reporting any issues, please make sure that you're using the latest version. - App releases: https://github.com/lbryio/lbry-app/releases - Standalone daemon: https://github.com/lbryio/lbry/releases We are also available on Slack at https://slack.lbry.io --> ## 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 <!-- For the app, this info is in the About section at the bottom of the Help page. You can include a screenshot instead of typing it out --> <!-- For the daemon, run: curl 'http://localhost:5279/lbryapi' --data '{"method":"version"}' and include the full output --> - LBRY Daemon version: 0.13.1 - LBRY App version: 0.13.0 - LBRY Installation ID: - Operating system: Kubuntu ## Anything Else <!-- Include anything else that does not fit into the above sections --> ```shell 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 <!-- If a screenshot would help explain the bug, please include one or two here -->
NeroBurner commented 2017-07-26 10:11:30 +02:00 (Migrated from github.com)

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

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 commented 2017-07-26 13:27:57 +02:00 (Migrated from github.com)

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

Relevant code is at the end of this file: 38fd451e72/app/main.js

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

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 commented 2017-07-26 14:19:49 +02:00 (Migrated from github.com)

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

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 commented 2017-08-02 21:23:23 +02:00 (Migrated from github.com)
Similar issues are discussed here: https://github.com/lbryio/lbry-app/issues/422 and https://github.com/lbryio/lbry-app/issues/423
filipnyquist commented 2017-08-02 22:29:30 +02:00 (Migrated from github.com)

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

Some People cannot install the gnome-keyring as it Will put their current keyring out of place.
kauffj commented 2017-09-18 18:08:51 +02:00 (Migrated from github.com)

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.

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 commented 2018-02-20 17:16:18 +01:00 (Migrated from github.com)

Opening this back up because the referenced file/commit (dbd147f4d1) 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 (https://github.com/atom/node-keytar/issues/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?

Opening this back up because the referenced file/commit (https://github.com/lbryio/lbry-app/commit/dbd147f4d1c86c3dfcc176061607d06bcf168cde) 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 (https://github.com/atom/node-keytar/issues/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?
Krisseck commented 2018-06-25 09:44:22 +02:00 (Migrated from github.com)

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

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 commented 2018-08-21 19:17:29 +02:00 (Migrated from github.com)

@tzarebczan is this still happening

@tzarebczan is this still happening
sjukfan commented 2019-06-23 20:22:27 +02:00 (Migrated from github.com)

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.

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 commented 2019-06-23 21:08:05 +02:00 (Migrated from github.com)

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

We'll try to remove this requirement in the next few months. Thanks for reaching out!
Ventriduct commented 2020-03-10 03:28:04 +01:00 (Migrated from github.com)

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

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: ```json { "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 commented 2020-03-10 03:39:20 +01:00 (Migrated from github.com)

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.

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 commented 2020-03-10 03:43:02 +01:00 (Migrated from github.com)

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

> 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 commented 2020-03-10 03:54:44 +01:00 (Migrated from github.com)

@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 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 commented 2020-04-01 19:31:26 +02:00 (Migrated from github.com)

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

We've removed it from the recent release (0.44), woohooo!!!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: LBRYCommunity/lbry-desktop#386
No description provided.