Authentication error on all accounts after update

Checklist
[X] I have read intro post: About the Installation Issues category
[X] I have read the tutorials, help and searched for similar issues
[X] I provide relevant information about my server (component names and versions, etc.)
[X] I provide a copy of my logs and healthcheck
[X] I describe the steps I have taken to trouble shoot the problem
[X] I describe the steps on how to reproduce the issue

–Server information–
CentOS Linux release 7.9.2009 (Core)
Nginx 1.20.1-2
PHP 7.3.29-1
Passbolt CE v3.2.0

–Healthcheck–

 Environment

 [PASS] PHP version 7.3.29.
 [PASS] PCRE compiled with unicode support.
 [PASS] The temporary directory and its content are writable.
 [PASS] The public image directory and its content are writable.
 [PASS] The logs directory and its content are writable.
 [PASS] GD or Imagick extension is installed.
 [PASS] Intl extension is installed.
 [PASS] Mbstring extension is installed.

 Config files

 [PASS] The application config file is present
 [PASS] The passbolt config file is present

 Core config

 [PASS] Debug mode is off.
 [PASS] Cache is working.
 [PASS] Unique value set for security.salt
 [PASS] Full base url is set to https://dori.lmtribune.com
 [PASS] App.fullBaseUrl validation OK.
 [PASS] /healthcheck/status is reachable.

 SSL Certificate

 [FAIL] SSL peer certificate does not validate
 [FAIL] Hostname does not match when validating certificates.
 [WARN] Using a self-signed certificate
 [HELP] cURL Error (60) Peer's Certificate issuer is not recognized.

 Database

 [PASS] The application is able to connect to the database
 [PASS] 25 tables found
 [PASS] Some default content is present
 [PASS] The database schema up to date.

 GPG Configuration

 [PASS] PHP GPG Module is installed and loaded.
 [PASS] The environment variable GNUPGHOME is set to /var/lib/nginx/.gnupg.
 [PASS] The directory /var/lib/nginx/.gnupg containing the keyring is writable by the webserver user.
 [PASS] The server OpenPGP key is not the default one
 [PASS] The public key file is defined in config/passbolt.php and readable.
 [PASS] The private key file is defined in config/passbolt.php and readable.
 [PASS] The server key fingerprint matches the one defined in config/passbolt.php.
 [PASS] The server public key defined in the config/passbolt.php (or environment variables) is in the keyring.
 [PASS] There is a valid email id defined for the server key.
 [PASS] The public key can be used to encrypt a message.
 [PASS] The private key can be used to sign a message.
 [PASS] The public and private keys can be used to encrypt and sign a message.
 [PASS] The private key can be used to decrypt a message.
 [PASS] The private key can be used to decrypt and verify a message.
 [PASS] The public key can be used to verify a signature.

 Application configuration

 [PASS] Using latest passbolt version (3.2.1).
 [PASS] Passbolt is configured to force SSL use.
 [PASS] App.fullBaseUrl is set to HTTPS.
 [PASS] Selenium API endpoints are disabled.
 [PASS] Search engine robots are told not to index content.
 [PASS] Registration is closed, only administrators can add users.
 [PASS] Serving the compiled version of the javascript app
 [PASS] All email notifications will be sent.

–Passbolt error.log (truncated)–

2021-08-16 15:11:42 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/login.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:11:50 Error: [Authentication\Authenticator\UnauthenticatedException] Authentication is required to continue in /var/www/passbolt/vendor/cakephp/authentication/src/Controller/Component/AuthenticationComponent.php on line 177
Request URL: /auth/is-authenticated.json
Client IP: 192.168.131.7


2021-08-16 15:11:52 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/verify.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:11:59 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/login.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:22:34 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/login.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:22:38 Error: [Cake\Http\Exception\BadRequestException] The user does not exist or is active. in /var/www/passbolt/src/Controller/Setup/SetupStartController.php on line 91
Request URL: /setup/install/8d8aab1f-fa2a-47be-a57a-7e8ceec4c8a4/d81a85fb-fada-40c8-b281-1f474fcfaebb.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:22:49 Error: [Cake\Http\Exception\BadRequestException] The user does not exist or is active. in /var/www/passbolt/src/Controller/Setup/SetupStartController.php on line 91
Request URL: /setup/install/8d8aab1f-fa2a-47be-a57a-7e8ceec4c8a4/d81a85fb-fada-40c8-b281-1f474fcfaebb.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:22:50 Error: [Cake\Http\Exception\BadRequestException] The user does not exist or is active. in /var/www/passbolt/src/Controller/Setup/SetupStartController.php on line 91
Request URL: /setup/install/8d8aab1f-fa2a-47be-a57a-7e8ceec4c8a4/d81a85fb-fada-40c8-b281-1f474fcfaebb.json?api-version=v2
Referer URL: https://dori.lmtribune.com/setup/install/8d8aab1f-fa2a-47be-a57a-7e8ceec4c8a4/d81a85fb-fada-40c8-b281-1f474fcfaebb?locale=en-UK
Client IP: 192.168.131.7


2021-08-16 15:23:14 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/login.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:23:57 Error: [Authentication\Authenticator\UnauthenticatedException] Authentication is required to continue in /var/www/passbolt/vendor/cakephp/authentication/src/Controller/Component/AuthenticationComponent.php on line 177
Request URL: /auth/is-authenticated.json
Client IP: 192.168.115.11


2021-08-16 15:25:42 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/verify.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:25:59 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/verify.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:26:06 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/login.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:38:56 Error: [Authentication\Authenticator\UnauthenticatedException] Authentication is required to continue in /var/www/passbolt/vendor/cakephp/authentication/src/Controller/Component/AuthenticationComponent.php on line 177
Request URL: /auth/is-authenticated.json
Client IP: 192.168.131.7

2021-08-16 15:38:57 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/verify.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:39:03 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/login.json?api-version=v2
Client IP: 192.168.131.7


2021-08-16 15:51:01 Error: [Authentication\Authenticator\UnauthenticatedException] Authentication is required to continue in /var/www/passbolt/vendor/cakephp/authentication/src/Controller/Component/AuthenticationComponent.php on line 177
Request URL: /auth/is-authenticated.json
Client IP: 192.168.131.7


2021-08-16 15:51:08 Error: [Cake\Http\Exception\InternalErrorException] The authentication failed. in /var/www/passbolt/src/Controller/Auth/AuthLoginController.php on line 87
Request URL: /auth/verify.json?api-version=v2
Client IP: 192.168.131.7

–Passbolt cli-error.log–

2021-08-15 20:53:39 Warning: Warning (512): SplFileInfo::openFile(/var/www/passbolt/tmp/cache/persistent/myapp_cake_core_translations.cake_console.en_UK): failed to open stream: Permission denied in [/var/www/passbolt/vendor/cakephp/cakephp/src/Cache/Engine/FileEngine.php, line 378]
2021-08-15 20:53:39 Warning: Warning (512): SplFileInfo::openFile(/var/www/passbolt/tmp/cache/persistent/myapp_cake_core_translations.cake_console.en_UK): failed to open stream: Permission denied in [/var/www/passbolt/vendor/cakephp/cakephp/src/Cache/Engine/FileEngine.php, line 378]

–Nginx error.log (Appear to just be probing from web crawlers)–

2021/08/16 04:25:32 [error] 3626#3626: *514 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 183.136.225.14, server: _, request: "GET /favicon.ico HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 04:25:33 [error] 3626#3626: *515 open() "/usr/share/nginx/html/robots.txt" failed (2: No such file or directory), client: 183.136.225.14, server: _, request: "GET /robots.txt HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:43 [error] 3626#3626: *530 open() "/usr/share/nginx/html/api/jsonws/invoke" failed (2: No such file or directory), client: 45.146.164.110, server: _, request: "POST /api/jsonws/invoke HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:43 [error] 3627#3627: *531 open() "/usr/share/nginx/html/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php" failed (2: No such file or directory), client: 45.146.164.110, server: _, request: "GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:44 [error] 3627#3627: *533 open() "/usr/share/nginx/html/solr/admin/info/system" failed (2: No such file or directory), client: 45.146.164.110, server: _, request: "GET /solr/admin/info/system?wt=json HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:44 [error] 3626#3626: *532 open() "/usr/share/nginx/html/_ignition/execute-solution" failed (2: No such file or directory), client: 45.146.164.110, server: _, request: "GET /_ignition/execute-solution HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:45 [error] 3626#3626: *536 open() "/usr/share/nginx/html/index.php" failed (2: No such file or directory), client: 45.146.164.110, server: _, request: "GET /index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=HelloThinkPHP21 HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:45 [error] 3626#3626: *537 open() "/usr/share/nginx/html/wp-content/plugins/wp-file-manager/readme.txt" failed (2: No such file or directory), client: 45.146.164.110, server: _, request: "GET /wp-content/plugins/wp-file-manager/readme.txt HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:45 [error] 3626#3626: *538 open() "/usr/share/nginx/html/Autodiscover/Autodiscover.xml" failed (2: No such file or directory), client: 45.146.164.110, server: _, request: "POST /Autodiscover/Autodiscover.xml HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:46 [error] 3626#3626: *539 open() "/usr/share/nginx/html/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php" failed (2: No such file or directory), client: 45.146.164.110, server: _, request: "POST /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 05:11:46 [error] 3626#3626: *540 "/usr/share/nginx/html/console/index.html" is not found (2: No such file or directory), client: 45.146.164.110, server: _, request: "GET /console/ HTTP/1.1", host: "199.5.221.116:80"
2021/08/16 06:19:52 [error] 3627#3627: *556 open() "/usr/share/nginx/html/boaform/admin/formLogin" failed (2: No such file or directory), client: 205.185.115.135, server: _, request: "POST /boaform/admin/formLogin HTTP/1.1", host: "199.5.221.116:80", referrer: "http://199.5.221.116:80/admin/login.asp"
2021/08/16 07:34:31 [error] 3626#3626: *559 open() "/usr/share/nginx/html/boaform/admin/formLogin" failed (2: No such file or directory), client: 205.185.126.200, server: _, request: "POST /boaform/admin/formLogin HTTP/1.1", host: "199.5.221.116:80", referrer: "http://199.5.221.116:80/admin/login.asp"
2021/08/16 08:28:54 [error] 82560#82560: *13 open() "/usr/share/nginx/html/boaform/admin/formLogin" failed (2: No such file or directory), client: 209.141.47.134, server: _, request: "POST /boaform/admin/formLogin HTTP/1.1", host: "199.5.221.116:80", referrer: "http://199.5.221.116:80/admin/login.asp"

I recently updated my Passbolt instance following the update guide posted here: Passbolt Help | Update passbolt on Centos 7

After getting to the Data structure migration step I got errors about needing version 7.3 of php. I uninstalled the php 7.2 packages and replaced them with php73-php-* packages from the remi-safe repository. This would seem to have been a mistake as when I got through the update I was getting a blank page returned from passbolt. After this I removed the packages from the remi-safe repository and replaced them with the packages from the remi-php73 repository. After this the webpage was returning a login prompt as usual.

However, when I try to log in it now returns an error “The authentication failed.” I have tried recovering the account with the private key and receive an error along the lines of “no account exists that matches this key.” I have also tried creating an admin account to recover the system with by issuing the “./bin/cake passbolt register_user” command. When I entered the new password for the new user I received the same “The authentication failed” error.

I assume something must have gone wrong during the data structure migration because of the incorrect php package being installed, though since they were both php73 I’m not really sure what the hangup was, and the data structure migration completed without error.

I’ve also entertained the thought that I may be missing some php extensions. I’ve checked the list from the installing with source guide and have all of the explicitly listed packages. Here is a list of the extensions currently installed on the system from yum:

php-cli.x86_64
php-common.x86_64
php-fpm.x86_64
php-gd.x86_64
php-intl.x86_64
php-json.x86_64
php-ldap.x86_64
php-mbstring.x86_64
php-mysqlnd.x86_64
php-pdo.x86_64
php-pecl-gnupg.x86_64
php-pecl-imagick-im6.x86_64
php-process.x86_64
php-xml.x86_64

Any help would be greatly appreciated. If any more information is needed let me know and I would gladly provide it.

Hello,

Sorry to hear about your troubles. These are some wild guesses, since the healthcheck seems to be fine for gnupg using command line maybe:

  • there is an issue with SELinux policies for the web user context.
  • This or the gnupg php module is not loaded in the webserver context.
  • Maybe the gnupg php module needs to be rebuild (if it was built from source) since php version have changed?

Maybe there is an issue with data structure that is preventing the authentication to work:

  • Have tried clearing the cache? sudo su -s /bin/bash -c "./bin/cake cache clear_all" nginx
  • Do you have any errors when running the cleanup? sudo su -s /bin/bash -c "./bin/cake passbolt cleanup" nginx
1 Like

Oh my goodness. I can’t believe I never thought to check SELinux. I swear I usually check that since it seems to be the specter haunting my every server whenever weird stuff starts happening. That was it. Thanks you so much for your help. You’ve saved me a lot of trouble.