LibreSign / libresign

✍️ Nextcloud app to sign PDF documents
https://libresign.coop
GNU Affero General Public License v3.0
452 stars 51 forks source link

Cannot sign document in LibreSign 8.0.0-rc5 when signature request is sent to an email address #2356

Closed DazeEnd closed 4 months ago

DazeEnd commented 4 months ago

Describe the bug When requesting a signature from an email address, the signer is unable to sign the document. LibreSign continues to request that the user create a signature, even when a signature has already been created.

To Reproduce Perform the following steps in a fresh Nextcloud installation:

  1. Make sure that SELinux is disabled.
[ceperry@newton public_html]$ sudo getenforce
Disabled
  1. Uncompress libresign directory from libresign-v8.0.0-rc5.tar.gz and move to Nextcloud apps directory

  2. sudo chown -R apache:apache libresign/

  3. Enable Libresign app in Nextcloud

Screenshot from 2024-02-27 10-49-19

  1. Install Java, PDFtk, and JSignPdf:
[ceperry@newton public_html]$ pwd
/var/www/newton-test.relanet.com/nextcloud/public_html
[ceperry@newton public_html]$ sudo -u apache php occ libresign:install --java
Downloading java...
 46080826/46080826 [============================] 100%
[ceperry@newton public_html]$ sudo -u apache php occ libresign:install --pdftk
Downloading pdftk...
 7205862/7205862 [============================] 100%
[ceperry@newton public_html]$ sudo -u apache php occ libresign:install --jsignpdf
Downloading JSignPdf...
 19027694/19027694 [============================] 100%
  1. In Settings > Administration > LibreSign, create a root certificate for signing: Enter "RelaNet, LLC" in the "Name (CN)" field and click the "Generate root certificate" button.

  2. Confirm that the "Configuration Check" section shows all "success".

Screenshot from 2024-02-27 10-51-47

  1. In Settings > Administration > LibreSign, go to the "Identity factors" section and change both "Account" and "Email" to "Click to sign". Under "Email", unselect the "Request to create account" option.

Screenshot from 2024-02-27 10-52-20

  1. As the admin user in Nextcloud, go to the LibreOffice app, upload a file, and request a signature from an email address that is NOT associated with a Nextcloud account.

  2. Once the e-signature request email arrives, paste the signing link into a Chrome Incognito window to begin the signing process and open the signing preview screen.

  3. In the signing preview screen, click the "Define your signature" button, draw your signature in the window that appears, and then click the "Save" button.

  4. Click the "Save" button in the confirmation window to confirm your signature.

  5. Note that LibreSign displays a "Element created with success" message, confirming that the signature was saved.

Expected behavior I expected the "Define your signature" button to change into a "Sign the document" button that the user could use to apply his signature to the document.

Actual behavior The action button remains a "Define your signature" button. If the user clicks on this button again, he is prompted to create a new signature.

Screenshots Screenshot from 2024-02-27 10-57-42

Environment information (please complete the following information):

Log files

[root@newton data]# cat nextcloud.log
{"reqId":"Zd4DRrKtk9yb-82tVDlSLAAAAEw","level":3,"time":"2024-02-27T10:44:06-05:00","remoteAddr":"152.117.79.26","user":"--","app":"PHP","method":"PUT","url":"/ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json","message":"Doctrine\\DBAL\\Exception\\TableNotFoundException: An exception occurred while executing a query: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'com_relanet_newtontest_nextcloud_nextcloud.oc_appconfig' doesn't exist at /var/www/newton-test.relanet.com/nextcloud/public_html/3rdparty/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php#49","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXLKtk9yb-82tVDlSewAAAEQ","level":3,"time":"2024-02-27T10:53:00-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40d","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXLKtk9yb-82tVDlSfAAAAFI","level":3,"time":"2024-02-27T10:53:00-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40da","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXLKtk9yb-82tVDlSfQAAAFA","level":3,"time":"2024-02-27T10:53:00-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40daz","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXLKtk9yb-82tVDlSfgAAAFU","level":3,"time":"2024-02-27T10:53:00-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40daze","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXbKtk9yb-82tVDlSfwAAAFc","level":3,"time":"2024-02-27T10:53:01-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazee","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXfPK@zrIgToosQmDMQAAANE","level":3,"time":"2024-02-27T10:53:01-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeen","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXfPK@zrIgToosQmDMgAAAMQ","level":3,"time":"2024-02-27T10:53:02-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeend","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXvPK@zrIgToosQmDNAAAAMY","level":3,"time":"2024-02-27T10:53:02-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeend.o","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXvPK@zrIgToosQmDNQAAAMg","level":3,"time":"2024-02-27T10:53:02-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeend.or","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}
{"reqId":"Zd4FXvPK@zrIgToosQmDNgAAAMk","level":3,"time":"2024-02-27T10:53:02-05:00","remoteAddr":"152.117.79.26","user":"relanetAdmin","app":"PHP","method":"GET","url":"/ocs/v2.php/apps/libresign/api/v1/identify-account/search?search=[EMAIL REDACTED]%40dazeend.org","message":"Undefined array key \"shareWithDisplayNameUnique\" at /var/www/newton-test.relanet.com/nextcloud/public_html/apps/libresign/lib/Controller/IdentifyAccountController.php#109","userAgent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36","version":"28.0.2.5","data":{"app":"PHP"}}

Additional context When I sent a signing request to another Nextcloud user, the user was able to sign the document. This problem seems to only affect signers that do not have a Nextcloud account.

DazeEnd commented 4 months ago

@vitormattos Just wanted to let you know that RC6 fixed this issue for me.