After upgrading from 3.3.0-17 to OJS 3.5.0-3: ORCID authentication does not work properly

After upgrading to OJS 3.5.0-3, when I click the button “Create or Connect your ORCID iD” in the user profile while logged in, the following happens:

If I am not logged in to ORCID, the OJS popup window appears so that I can log in. After logging in, the window refreshes and the following message appears:

https://myjournals.com/myjournal/orcid/authorizeOrcid?targetOp=profile&code=zHf4Vw may be experiencing a temporary issue or has moved.
Error code: 500 Internal Server Error

So the initial ORCID sign-in works, but the authentication itself does not complete successfully.

I believe that the ORCID configuration is correct. Everything worked in OJS 3.3.
I am not sure whether this is related to this issue: [ORCID] | Auth tokens not transfered from user to author · Issue #12476 · pkp/pkp-lib · GitHub

Additional information
Apache-Log:

134.100.172.112 - - [24/Mar/2026:16:31:27 +0100] “GET /hup3/myjournal/orcid/authorizeOrcid?targetOp=profile&code=fh8Eph HTTP/1.1” 500 7309 “``https://orcid.org/”`` “Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0”
134.100.172.112 - - [24/Mar/2026:16:31:27 +0100] “HEAD /hup3/myjournal/orcid/authorizeOrcid?targetOp=profile&code=fh8Eph HTTP/1.1” 200 7539 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0”

PHP Log:

[24-Mar-2026 15:31:27 UTC] PHP Fatal error: Uncaught Error: Call to a member function setVerifiedOrcidOAuthData() on null in /srv/www/ojs04/htdocs/lib/pkp/classes/orcid/actions/AuthorizeUserData.php:157
Stack trace:
#0 /srv/www/ojs04/htdocs/lib/pkp/pages/orcid/OrcidHandler.php(122): PKP\orcid\actions\AuthorizeUserData->execute()
#1 [internal function]: PKP\pages\orcid\OrcidHandler->authorizeOrcid()
#2 /srv/www/ojs04/htdocs/lib/pkp/classes/core/PKPRouter.php(327): call_user_func()
#3 /srv/www/ojs04/htdocs/lib/pkp/classes/core/PKPPageRouter.php(249): PKP\core\PKPRouter->_authorizeInitializeAndCallRequest()
#4 /srv/www/ojs04/htdocs/lib/pkp/classes/core/Dispatcher.php(157): PKP\core\PKPPageRouter->route()
#5 /srv/www/ojs04/htdocs/lib/pkp/classes/core/PKPApplication.php(429): PKP\core\Dispatcher->dispatch()
#6 /srv/www/ojs04/htdocs/index.php(21): PKP\core\PKPApplication->execute()
#7 {main}
thrown in /srv/www/ojs04/htdocs/lib/pkp/classes/orcid/actions/AuthorizeUserData.php on line 157

Hi @ewhanson , does this have anything to do with this bug: [ORCID] | Auth tokens not transfered from user to author · Issue #12476 · pkp/pkp-lib · GitHub ?

Hi @ohilbig01, thanks for sharing the details.

I don’t think this should have to do with the Github issue you mentioned as that applies when a user already has authenticated their ORCID and this is about a user going through that process.

The issue at hand appears to be that the your user info cannot be found when trying to set the authenticated ORCID info. Could you try clearing out your browsers cache and history for orcid.org and your journal’s site and retry the process again? Could you also share a screenshot if the error code message you are getting in the browser? I’m curious where/how this is showing up. You may also want to try doing so in a different browser as well. Hope that helps!

Regards,

Erik
PKP Team

Hi @ewhanson ,

thank you very much for your reply! Unfortunately, I’m still stuck.

I’ve now run another test: I installed a fresh instance of Open Journal Systems 3.5.0-3 as well as a fresh instance of OJS 3.3.0-17 (which is the version I was using before).

On both systems, I created a new user. When I log in as this new user in OJS 3.3.0-17 and connect via ORCID, I first get the ORCID login, and after logging in there, I am returned to the OJS login. OJS then successfully stores my ORCID.

However, when I do the same in OJS 3.5.0-3, I also initially get the ORCID login, but afterwards I get the “Authorize access” window from Orcid. When I click on it, I encounter the error described above:

The PHP error
([28-Apr-2026 16:15:05 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to a member function setVerifiedOrcidOAuthData() on null in /srv/www/ojs00/htdocs/lib/pkp/classes/orcid/actions/AuthorizeUserData.php:153)
indicates that at this point, Open Journal Systems can no longer find the user object, it is null.

Thanks for sharing the additional details @ohilbig01. I was able to find the error and have created a Github issue to track and correct it. This will be included as part of the next OJS 3.5 release. Thanks for catching this!

Regards,

Erik
PKP Team

Hi @ewhanson , thanks again for your help, your fix works in our installations!