passbolt / passbolt_browser_extension

Browser extensions (Firefox, Edge & Chrome) for Passbolt the open source password manager for teams
https://passbolt.com
GNU Affero General Public License v3.0
231 stars 69 forks source link

keeps asking to install extension even if it's already installed #163

Closed alfieo closed 1 year ago

alfieo commented 1 year ago

KEEPS ASKING TO INSTALL THE EXTENSION EVEN THOUGH IT IS INSTALLED.

What you did

What happened

keeps on asking to install extension for me to proceed and to complete account recover

What you expected to happen

Must be able to proceed to passbolt dashboard instead of keeps asking to install plugin

cedricalfonsi commented 1 year ago

Hello @alfieo,

Thank you for you report.

In order to help you with this issue, could you provide us with the following:

In addition, we would need the browser extension debug output. To do so on Firefox:

e2jk commented 1 year ago

Hello, not OP, but I seem to have the same issue. I'm a first time Passbolt (testing) user (found out about it 2 weeks ago during the Lightning Talk at FOSDEM, Brussels). I've just installed my local server (Docker on a Raspberry Pi - had to build it to run on armv7 - https://hub.docker.com/r/e2jk/passbolt). After running the passbolt register_user command, I get a URL of the type https://<server>:<port>/setup/install/<GUID1>/<GUID2>?locale=fr-FR&first-install=1 When I get to that page, it prompts me to install the Firefox plugin, which I do. When reloading that page, I get the same prompt as before. I do notice I don't have the Passbolt addon icon showing up upper left, like other addons do (and as is shown happening on your install help page, in the video at second 0:12, after installing the icon appears)

I went to the browser extension debug, as @cedricalfonsi asked in the previous post, and this is what I get (seems wrong ;) ) : image

I also tested on the same Ubuntu laptop with Brave and Chrome, same end result, the addon icon doesn't show up and regardless of how many times I reload the page or uninstall/reinstall the plugin, going to the /setup/install/ page ends up asking me to install the plugin.

In Brave, going to brave://extensions/?id=didegimhafipceonhjepacocaffmoppf , activating the developer mode, when I inspect index.html I get these error messages (including the same message about an invalid OpenPGP key) : image

I'm assuming inspecting the plugin means "stuff in the plugin", but in case it is useful, I'm still running without a proper public key setup on my server. I'm literally just still at step 5 listed here https://help.passbolt.com/hosting/install/ce/docker.html so I haven't set up proper certificates, or any Let's Encrypt SSL certificates. And when I run the healthcheck command, I do get 6 errors, all related to certificates. here are the FAIL messages (extract of the output of the docker-compose exec passbolt su -m -c "/usr/share/php/passbolt/bin/cake passbolt healthcheck" -s /bin/sh www-data command) :

 [FAIL] SSL peer certificate does not validate
 [FAIL] Hostname does not match when validating certificates.
 [FAIL] The server OpenPGP key is not set
 [FAIL] The server key fingerprint doesn't match the one defined in /etc/passbolt/passbolt.php.
 [FAIL] The server public key defined in the /etc/passbolt/passbolt.php (or environment variables) is not in the keyring
 [FAIL] The server key does not have a valid email id.

Yes, it does mention the server's OpenPGP key, but again, I'm assuming that if the extension complains about an invalid OpenPGP key, it's on the extension's side, not the server. Or is this where the issue is located?

Well, after rereading Brave's inspection output, I kind of think this might indeed be linked to the server... The error message is apparently triggered in the _findAndSetAccountSetupServerPublicKey function, so it looks like the extension is indeed trying to get the public key of the server. Hmmm, since I've just installed the extenion and haven't yet been able to configure anything, I would not have expected the extension to already have "connected" with the server, but that's maybe the case...

I'll try to see how to fix the server's OpenPGP key error message, and see if that fixes this plugin loading error...

EDIT : to prevent any misunderstanding: at this stage, I'm just trying to evaluate if Passbolt could be my family's new password manager, so in the this evaluation phase I don't care too much about the security of this install... I see these kind of mentions in the /etc/passbolt/passbolt.default.php file, so I'm probably going to set up that demo config to see if this gets me around this initial bump in my evaluation.

e2jk commented 1 year ago

Update : I got past this issue, but in a somewhat surprising way. It will potentially not help resolve this issue, but who knows.

In my previous attempt, I had defined my Docker volumes to point to specific folders on my host computer (and since I got permissions error at the beginning, i set them to 777 access rights [again, just to test this out, this would not be my default production setup...]). I had something like this set up for the passbolt container :

    volumes:
      - /media/<drive>/docker/passbolt/gpg:/etc/passbolt/gpg
      - /media/<drive>/docker/passbolt/jwt:/etc/passbolt/jwt

I now switched back to what is shown in the official Passbolt, using volume names instead of file paths. I deleted all the folders and containers, started up fresh with this:

    volumes:
      - passbolt_gpg_volume:/etc/passbolt/gpg
      - passbolt_jwt_volume:/etc/passbolt/jwt
volumes:
  passbolt_gpg_volume:
  passbolt_jwt_volume:

And somehow, although healthcheck still shows I have the 6 issues and in particular no server OpenGPG key, after creating the user I get nicely asked to create a private key/create my new master password. So I'm not really sure what was going on, but somehow changing back to the default way of defining volumes got around the issue. Sorry if all that information wasn't useful.

cedricalfonsi commented 1 year ago

I'm closing this issue as it seems solved and the error was relative to the API health.