ORCID iD not retrieved

@asmecher,

I tried to perform your request changing OrcidHandler.inc.php as follows (I’m unsure if I’m using the right syntax):

		if ($info['http_code'] == 200) {
			$json = json_decode($result, true);
		} else error_log(print_r($info, true));

In case I did this right, the bad news is I am on a virtual shared server, so few PHP error are displayed in the error log to which I do have access, and setting PHP error handling with .htaccess is blocked by default (I checked by pulling a phpinfo() request).

EDIT: I also tried the suggestions from this post:

If you don’t have access to your server log file, you can try adding the following near the top of index.php to cause error messages to be sent to the browser:
ini_set('display_errors', E_ALL);

as well as bringing some change to lib/pkp/includes/functions.inc.php for debugging (see cited post). Nothing would change.
//END OF EDIT.

Apparently, I do have cURL installed, but I don’t know if the cURL library is outdated. I performed a test as suggested here. Here is the output:

array(9) {
  ["version_number"]=>
  int(467968)
  ["age"]=>
  int(3)
  ["features"]=>
  int(50717)
  ["ssl_version_number"]=>
  int(0)
  ["version"]=>
  string(6) "7.36.0"
  ["host"]=>
  string(20) "i386-sun-solaris2.10"
  ["ssl_version"]=>
  string(14) "OpenSSL/1.0.1h"
  ["libz_version"]=>
  string(5) "1.2.3"
  ["protocols"]=>
  array(16) {
    [0]=>
    string(4) "dict"
    [1]=>
    string(4) "file"
    [2]=>
    string(3) "ftp"
    [3]=>
    string(4) "ftps"
    [4]=>
    string(6) "gopher"
    [5]=>
    string(4) "http"
    [6]=>
    string(5) "https"
    [7]=>
    string(4) "imap"
    [8]=>
    string(5) "imaps"
    [9]=>
    string(4) "pop3"
    [10]=>
    string(5) "pop3s"
    [11]=>
    string(4) "rtsp"
    [12]=>
    string(4) "smtp"
    [13]=>
    string(5) "smtps"
    [14]=>
    string(6) "telnet"
    [15]=>
    string(4) "tftp"
  }
}

I also performed another more version specific test, as suggested here. Here is the output:

CURL_VERSION_IPV6 matches CURL_VERSION_KERBEROS4 does not match CURL_VERSION_SSL matches CURL_VERSION_LIBZ matches

If there is no other way to check PHP errors
On the ORCID side:

  • I have enabled the public API for HTTPS://clararevue.ulb.be;
  • Client ID and Client secret in ORCID match those in OJS’ Orcid Profile settings;
  • I have redirect URIs set as:
  1. HTTPS://clararevue.ulb.be
  2. HTTPS://clararevue.ulb.be/OJS/index.php/CLARA/orcidapi/orcidAuthorize?targetOp=register&params=
  3. OAuth 2.0 Playground

On the OJS side, I am worried by the following:

  1. In my config.inc.php file I have
  • base_url = "HTTP://clararevue.ulb.be/OJS" but changing to HTTPS does not seem to have any influence
  • restful_urls = Off but restful URL seems to be required by oauth for Orcid to send data (reference is made in config.inc.php to FAQs for setting up restful URLs, but I could not find anything about it)
  • I’ve set allow_url_fopen = On, apparently needed for recaptcha
  • possible other personalized settings
  1. in my .htaccess file, I have set a redirection rule for all HTTP requests to be served as HTTPS

That’s as far as I get…
Axel