Account linking options error

Bonjour,

Je continue avec mes retours d’expérience. C’est le moins que je puisse faire.

  • encore merci d’avoir accepté que je teste votre solution unikname (approche que je trouve particulièrement intéressante) sur mon petit site Web WordPress.

et vous détaille mes derniers petits soucis

  1. Identifiants UnikName
    J’ai reçu de l’équipe mes identifiants Unikname Connect (Business Account ID et API secret key)
    tout ça via un e-mail via le mode confidentiel de Gmail

Impossible de copier-coller les chaines (Business Account ID et API secret key)
Plus de 80 caractères à recopier à la main !
C’est sécure, c’est certain
mais ça me semble (à mon humble avis) un peu too much
Ca risque même de décourager certain (même si on ne fait pas ça qu’une seule fois)

  1. Plugin WordPress
    L’installation de unikname en automatique via le menu extensions de Wordpress > Ajouter une extension > Chercher l’extension > puis l’installer et l’activer me donnait une erreur PHP
    visible sur sur la page de configuration du plugin (il apparaît dans le menu de gauche un fois l’extension activée)
    Erreur PHP :
    Variable “loginPage” non définie ligne 1267 1268 1269 du script unikname_connect.php
    Bizarre ! je défini la variable à la main dans le script pour supprimer l’erreur.
    Autre erreur : ligne 914 var uniknameRequired = …

Je supprime le plugin dans l’arborescence et
je passe par le dépot Github pour télécharger dezipper wordpress-unikname-connect-master
Plus aucun soucis !
Cela semblait être pourtant la même version ! Bizarre

  1. Link your social account to login to your account at this website
    Une fois le plugin configuré
    et quelques réglages faits …
    j’essai de lier mon compte Wordpress à mon compte social unikname

Sur le compte en question je clique sur
“Link your social account to login to your account at this website”
Je m’authentifie avec mon compte unikname valide l’accès sur mon smartphone
et là erreur (voir capture d’écran)

Une idée ?
Je reste à votre disposition en cas de besoin.

Cordialement.

jca

Effet de bord inattendu de cette solution, ce n’était pas notre intention :innocent:
Nous allons changer notre méthode transmission de ces données.

Faut-il vous les renvoyer afin que vous puissiez les copier-coller plus aisément ?

Pas tout à fait, vous êtes tombé sur un bug de la version 8.2.1, celle disponible sur le répertoire des extensions WordPress.
Nous avons identifié ce bug il y a quelques jours et la correction a “atterri” sur le dépôt Github du plugin ce matin. Le code de ce dépôt est la future version 8.2.2, qui sortira demain, 2020-11-18T23:00:00Z.
Ce qui explique qu’en téléchargeant le plugin directement depuis le dépôt Github du plugin le bug ait disparu :slight_smile:

Demain, vous pourrez réinstaller le plugin en version 8.2.2 depuis le répertoire des extensions WordPress qui embarquera un correctif pour le bug dont vous parlez.

Oui : c’est une page d’erreur assez rare, qui indique que l’API secret key configurée dans le plugin WordPress est erronée … ce qui semble plutôt normal étant donné que vous avez dû la ressaisir à la main :sweat_smile:

Nous vous retransmettons les données de configuration par une autre voie dès maintenant.

Merci

Impossible de copier-coller les chaines (Business Account ID et API secret key)
Plus de 80 caractères à recopier à la main !

Nous allons changer notre méthode transmission de ces données.

De mon point de vue c’est un choix judicieux de changer en effet.
Beaucoup mieux votre email safenote
avec code envoyer par SMS pour y accéder

Le code de ce dépôt est la future version 8.2.2

OK. j’avais pas trop regardé et m’étais jeté sur le depot Github
Je refais un essai avec le plugin officiel Wordpress pour vosu faire un retour.

API secret key configurée dans le plugin WordPress est erronée

En effet en faisant copier coller, je me suis aperçu que j’avais interverti un o (lettre O) par un 0 (chiffre zero).
Mais c’est vrai qu’en recopiant à la main les 80 caractères.

Merci dans tous les cas pour votre réactivité.
Je teste si j’ai un peu de temps dans la journée et reviens vers vous

1 Like

:+1:

Vous avez bien fait, car çela a permis tester le correctif prévu pour la prochaine version sur votre site !
Qui apparemment est fonctionnel :slight_smile:
Merci

Vous pouvez y aller, la version 8.2.2 est disponible.

Bon,
Je continue sur mon retour d’expérience (pardon pour le petit temps mort : très pris cette semaine)

J’ai donc refait la manip complète en passant par le plugin WordPress officiel (via le menu extensions de Wordpress > Ajouter une extension)
Plus de soucis : votre MAJ est OK

En revanche j’ai toujours un soucis lorsque j’essaie de lier un compte Wordpress utilisateur à l’unikname

Je m’explique.
Dans un 1er temps je me loggue avec un id et mot de passe WordPress classique
J’arrive sur mon tableau de bord WordPress
Je clique sur mon profil puis en haut clique sur l’icone/image unikname
pour “Link your social account to login to your account at this website”
Je suis redirigé et saisi mon unikname. Pas vraiment de retour mais cela semble être bon.
Sur WordPress par vraiment d’indication qui m’indique que mon compte est lié à cet unikname.
Est-ce normal ?

Bon, je me déconnecte de WordPress et tente de me connecter via mon unikname.
La encore redirection,saisi de mon unikname
mais là je n’abouti pas sur le DashBoard.

Page affiché ;

Je vérifie pour aller sur mon profil
Non je ne suis décidément pas connecté.

J’ai re-fais copié collé du Business Account ID et de l’API Secret Key (vu dans un de vos fil du forum).
Non. Pas OK

Ai-je loupé une étape ?

Je précise quelques points :

  • WordPress 5.5.3 à jour - Tous les plugins à jours
  • Inscription sur le site désactivé : il s’agit juste de pouvoir lier un compte WordPress à l’unikname de l’utilisateur pour que ce dernier puisse accéder aux posts, comments, forums

Je reste à votre disposition en cas de besoin.

Merci de votre retour.
Cordialement.

jca

C’est en parltie grâce à vous, merci :wink:

C’est comme cela qu’il faut faire, c’est parfait.

Une popup doit s’ouvrir, dont l’ouverture est éventuellement forcée dans un nouvel onglet (selon votre navigateur et/ou sa configuration).

Si vous n’avez pas de “retour” visuel dans WordPress à la fin de la procédure, c’est il y a un problème.

En fin de procédure d’association de compte, vous devriez avoir ce message en haut du compte client :

image

Je ne pense pas que vous ayez manqué une étape.
Êtes-vous bien dans cette configuration-ci du plugin ? (Cf. capture ci-dessous)

image

Oui je suis bien dans cette configuration du plugin :

  • Enable Unikname Connect : ON
  • Disable user registration via Unikname Connect : ON (pas d’enregistrement via Unikname)

Donc je confirme :
Dans un 1er temps je me loggue avec un id et mot de passe WordPress classique
J’arrive sur mon tableau de bord WordPress
Je clique sur mon profil puis en haut clique sur l’icone/image unikname
pour “Link your social account to login to your account at this website”

Une pop-up s’ouvre.
Je saisis mon Unikname.
Je valide l’accès sur mon tel

Mais là pas de retour visuel : pas de “Acount linked successfully”
Et je suis redirigé dans le pop-up vers l’URL :

https://www.afdet06.org/?OIDCCallback=UniknameConnect&code=OC-58-HYt86iaepfTXAII8eMNp4O1KS71MpHUl&state=538577274

Vous êtes bloqué à la dernière étape de connexion : la vérification que le code en paramètre de la requête est bien valable sur le serveur Unikname Connect.

Qu’est-ce qui peut expliquer que vous soyez bloqué ici ?

Le plus probable, c’est que la requête de vérification initiée par le plugin WP-UNC qui part de votre serveur WordPress vers le serveur Unikname Connect est bloquée ou ne peut pas aboutir.

Il peut y avoir de nombreuses raisons à ce blocage, difficiles à diagnostiquer sans trace d’erreur particulière.
La plus probable est la présence d’un parefeu qui bloque les requêtes inconnues sortantes de votre WordPress ; parefeu sous forme d’un plugin de sécurité WordPress, ou bien au niveau du serveur lui-même.

Ce que je vous propose :

  1. vérifiez que vous n’avez pas un tel parefeu au niveau de WordPress ou du système d’exploitation de votre serveur qui héberge le WordPress
    Il faut autoriser les requêtes vers le domaine connect.unikname.com port 443 (ou https://connect.unikname.com)

  2. depuis le serveur, essayer de pinger le serveur Unikname Connect pour vérifier le réseau ne bloque pas
    ping connect.unikname.com
    vous devriez voir des lignes apparaître qui indique le temps de réponse aux pings
    Par exemple :

$ ping connect.unikname.com

4 bytes from 46.252.181.103 (46.xxx.xxx.xxx): icmp_seq=1 ttl=53 time=8.82 ms
64 bytes from 46.252.181.103 (46.xxx.xxx.xxx): icmp_seq=2 ttl=53 time=8.97 ms
64 bytes from 46.252.181.103 (46.xxx.xxx.xxx): icmp_seq=3 ttl=53 time=9.00 ms
  1. activez temporairement le mode debug de WordPress pour tenter de consulter d’éventuels messages d’erreur, notamment grâce à la variable WP_DEBUG_LOG

Réssayez de vous connecter ensuite et consulter le contenu du fichier /wp-content/debug.log

Bonjour

Le ping est OK :
$ ping connect.unikname.com
PING domain.par.clever-cloud.com (185.42.117.109) 56(84) bytes of data.
64 bytes from 185.42.117.109 (185.42.117.109): icmp_seq=1 ttl=51 time=5.17 ms

L’accès à votre port https OK
$ nc -zvn 185.42.117.109 443
(UNKNOWN) [185.42.117.109] 443 (https) open

Le mode DEBUG ne donne pas grand chose à part une petite erreur qui ne semble pas être en rapport
[26-Nov-2020 17:22:57 UTC] PHP Deprecated: whitelist_options est obsolète depuis la version 5.5.0 ! Utilisez apply_filters_deprecated à la place. Veuillez envisager d’écrire un code plus inclusif. in /var/wws/wordpress/wp-includes/functions.php on line 5152

J’ai testé en mettant un theme par defaut : Twenty Seven
Pas mieux

j’ai testé de désactiver tous mes plugins :
Pas mieux

La coche dans la configuration du plugin “Link social account to already existing account, if email address matches” dans Advanced Options est-elle obligatoire ?
J’ai testé aussi il me semble sans plus de succès.

Enfin, j’ai jeté un oeil rapide sur la base Mysql de WordPress sans voir grand chose.
A quel niveau la jointure se fait-elle entre l’utilisateur “user_login” et son compte unikname “mon_compte_unikname”

Suis ouvert à toute suggestion de votre part.
Cdt

jca

Le plugin fonctionne sur des dizaines de sites désormais, il n’y a pas de raison que ça ne fonctionne pas chez vous, nous allons trouver une solution :muscle:

:heavy_check_mark:

Merci pour ces vérifications, on peut éliminer le filtrage de l’accès au niveau du serveur et du système d’exploitation

:heavy_check_mark:
Rien en lien avec WP-UNC effectivement.

:heavy_check_mark:

:heavy_check_mark:

:heavy_check_mark:
Pas d’incidence, je confirme

Table usermeta, colonne meta_key et valeurs commençant par thechamp_

Cependant, vous ne trouverez probablement rien puisque l’association de compte n’a pas abouti.

Pour avancer, nous venons de publier une version mineure du plugin qui est beaucoup plus verbeux en cas de problème rencontré par le plugin : WP-UNC 8.2.3

Comme précédemment, il faut activer :

  • define('WP_DEBUG_LOG', true);
  • define('WP_DEBUG_DISPLAY', false);

Les traces d’erreur devraient apparaître dans le fichier /wp-content/debug.log

Ah il semble il ya voir qque chose de parlant là.

D’abord, je continue mon retour d’expérience pour vous.

  • Mise a jour du plugin WordPress via le dashBord de WordPress : OK
    Message : “une nouvelle version est disponible”
    Click sur mettre à jour ==> OK

  • Effectivement il ne semble rien y avoir encore dans la base de données Mysql

Les modes DEBUG toujours activés me disent en log

27-Nov-2020 14:21:22 UTC] Error when calling: https://connect.unikname.com/oidc/accessToken
[27-Nov-2020 14:21:22 UTC] With parameters: Array
(
[method] => POST
[timeout] => 15
[redirection] => 5
[httpversion] => 1.0
[sslverify] =>
[headers] => Array
(
[Content-Type] => application/x-www-form-urlencoded
)

[body] => grant_type=authorization_code&code=OC-108-tUcsn5ZLNEOfpSeqg24LXzan8T0dB7nh&redirect_uri=https%3A%2F%2Fwww.afdet06.org%2F%3FOIDCCallback%3DUniknameConnect&client_id=ZGlkOnVuaWs6dW5pZDpiMGFiMDhjZjJlZmU1ODJmNWQ1ZmM4NzgzMjYwNTZlZTEwZDE1Mjc4YWY1OGEyMTZiOTIzNDNmOWJkNzljYTEx&client_secret=gF4TPirigBhuAEgnSJYW5JQoSvE8hWnps7L0NDqSQkIwwD10Uv4gbkPt8sD4fOwcsdtIf5YyhJwbzEmY

)

[27-Nov-2020 14:21:22 UTC] Response: WP_Error Object
(
[errors] => Array
(
[http_request_failed] => Array
(
[0] => stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:14094458:SSL routines:ssl3_read_bytes:tlsv1 unrecognized name
stream_socket_client(): Failed to enable crypto
stream_socket_client(): unable to connect to ssl://connect.unikname.com:443 (Unknown error)
)

    )

[error_data] => Array
    (
    )

)

1 Like

Bonsoir,

On s’approche du but

Que donne cette commande dans un terminal, exécutée sur le server hébergeant votre WordPress ?

$ openssl s_client -connect connect.unikname.com:443 -servername connect.unikname.com

Et

$ openssl version

Merci

Bonjour.
Je précise : Debian Buster à jour en 10.6

$ openssl version

OpenSSL 1.1.1d 10 Sep 2019

openssl s_client -connect connect.unikname.com:443 -servername connect.unikname.com

CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let’s Encrypt, CN = Let’s Encrypt Authority X3
verify return:1
depth=0 CN = connect.unikname.com
verify return:1

Certificate chain
0 s:CN = connect.unikname.com
i:C = US, O = Let’s Encrypt, CN = Let’s Encrypt Authority X3
1 s:C = US, O = Let’s Encrypt, CN = Let’s Encrypt Authority X3
i:O = Digital Signature Trust Co., CN = DST Root CA X3

Server certificate
-----BEGIN CERTIFICATE-----
MIIFYDCCBEigAwIBAgISA02uUbEa0TSKFTZXPfdJNzjEMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDExMTUwMzAwNDJaFw0y
MTAyMTMwMzAwNDJaMB8xHTAbBgNVBAMTFGNvbm5lY3QudW5pa25hbWUuY29tMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgGwtoWYDXYoD8FikCTuG4fJs
sQGoeR+JLrVoZn+ZawGKBK6ZQ5U/mkF5kZMYbCimhDtCxhstoBUypWUOkVYQ0kC6
oZdLopXAMF3xO9afexMpL2e+Jn72XVhxYIpj4kWkh8c5tWT5xPQ+Q94QxqFs175Z
KbQ4rIaK15ZZCuhrRQRkQLqslEnspOv6/Qb15eG5MweQyfU+keIKAWD7Th2JM7Vm
yUxN7LSQPEBBmZT+COaeZH1iO+jR63wqKtQRZHZa264+wzJ4Xg1ShlI1Yh8VYuQq
jgf02/kfiectgl06Bb7LQpxl6lgv9WpOX0UvRihrKMgzps8CQgnrroz9OWxQ8wID
AQABo4ICaTCCAmUwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMB
BggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBQZG1rg/AeUIBrd5OPU
VydLjnqnyDAfBgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBvBggrBgEF
BQcBAQRjMGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5sZXRzZW5j
cnlwdC5vcmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5j
cnlwdC5vcmcvMB8GA1UdEQQYMBaCFGNvbm5lY3QudW5pa25hbWUuY29tMEwGA1Ud
IARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUHAgEWGmh0
dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDw
AHYAlCC8Ho7VjWyIcx+CiyIsDdHaTV5sT5Q9YdtOL1hNosIAAAF1yg/uEQAABAMA
RzBFAiBnrCdM8Jvn/dKvSmCkTnL82KMOb3KV7VsfQzgLeNLYsAIhAIgril2bv3QH
2XPOdq+/mUh+O4uyqotyjpCNidU7sys0AHYAfT7y+I//iFVoJMLAyp5SiXkrxQ54
CX8uapdomX4i8NcAAAF1yg/uUgAABAMARzBFAiAidQ4n1ZfG5AHt+lTqXXxGDpNY
slKI115CIcuGjaG9NQIhAKXCMjw3RdtgFZ3KOtYgBpOExECa8vUc4pjqw/RfxIV5
MA0GCSqGSIb3DQEBCwUAA4IBAQCT4KZla0aQoJ0/97fohhAaHqXvtkJ2Ho0pqIfR
mP85fkFe+DBnw9ZkvdR78jGitbABykU32cCXYFuZEvZwHrLOK0nEBh6H3YCdOqcH
v5s8/77iSrPZC2e0Ji2hPkNfoZ6xzuOPI+ozuZPOr8pral4UmIje3xGlDLzKPKwu
LSl8LwER/8KRLcTbUweAOReUXqJjTxu1bur5i96Y2nwIjQsAzg8QnRPNDtxVatp3
MVdHGiU49iu+UGoEWUYQb6lQ8KrW9haP072mxtFKS82Vcbjp7DuX0zuCFuKWLfGv
12PzfgcpVCGWwU84cVMMHKExeM6iMYkuPV88gscZ+GmfcdBQ
-----END CERTIFICATE-----
subject=CN = connect.unikname.com

issuer=C = US, O = Let’s Encrypt, CN = Let’s Encrypt Authority X3


No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: ECDH, P-256, 256 bits

SSL handshake has read 3245 bytes and written 737 bytes
Verification: OK

New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)


Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 31D518905299CFD143C99786CE51B12463645273CE42BB635D488057291C4B64
Session-ID-ctx:
Resumption PSK: B84AF508B8211F70ADC703D443C4C98B8F05C72545B73C5A8B3A22E17C58C311728589A4049DC24A06C0BA79B2793BC1
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 06 bd 70 d9 19 0b ff 69-a9 e2 a5 7e b1 9c 5c a0 …p…i…~…
0010 - 9f c3 66 00 ce f7 44 c0-82 48 73 be 50 15 fa 8a …f…D…Hs.P…

Start Time: 1606508140
Timeout   : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0

read R BLOCK

Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_256_GCM_SHA384
Session-ID: 85DCCFCF15FEE42562663017CED21EA18A0A331C6B23F3C8281F83F99953D57C
Session-ID-ctx:
Resumption PSK: AA090ADD4E737A4F1AB023FC37575C7250EF6C16E42A418632E9E6CCF4768D1EFCDF22D6F8D4EBD433C1EBB59F371F72
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 16 65 e4 1a d2 2e 63 57-df a9 74 41 93 8f 78 b6 .e…cW…tA…x.
0010 - 5c 09 95 2c 2d 30 6c fa-b2 4e 13 96 5a f0 54 d3 …,-0l…N…Z.T.

Start Time: 1606508140
Timeout   : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
Max Early Data: 0

read R BLOCK

Là bizarrement, je ne récupère pas la main. En attente d’une réponse ?

Je reprend la main avec un Ctrl-C

C’est normal, l’outil est en attente de requêtes HTTP, ce qu’on va pas faire à la main :sweat_smile:

Donc le problème n’est pas avec OpenSSL.

Peut-être cURL ?

$ curl --version

Puis

$ curl -v https://connect.unikname.com/

Voici la sortie que vous devriez avoir :

*   Trying 46.252.181.104:443...
* TCP_NODELAY set
* Connected to connect.unikname.com (46.252.181.104) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=connect.unikname.com
*  start date: Nov 15 03:00:42 2020 GMT
*  expire date: Feb 13 03:00:42 2021 GMT
*  subjectAltName: host "connect.unikname.com" matched cert's "connect.unikname.com"
*  issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3
*  SSL certificate verify ok.
> GET / HTTP/1.1
> Host: connect.unikname.com
> User-Agent: curl/7.68.0
> Accept: */*
> 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 
< Cache-Control: no-cache, no-store, max-age=0, must-revalidate
< Pragma: no-cache
< Expires: 0
< Strict-Transport-Security: max-age=15768000 ; includeSubDomains
< X-Content-Type-Options: nosniff
< X-Frame-Options: DENY
< X-XSS-Protection: 1; mode=block
< Location: https://connect.unikname.com/login
< Content-Language: en
< Content-Length: 0
< Date: Mon, 30 Nov 2020 09:48:33 GMT
< Server: Unikname
< Sozu-Id: e8c5b153-b5f1-416d-88fe-140bc065e875
< 
* Connection #0 to host connect.unikname.com left intact

Bonjour.

curl n’était pas installé.
Après l’install ça me donne

$ curl --version

curl 7.64.0 (x86_64-pc-linux-gnu) libcurl/7.64.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Release-Date: 2019-02-06
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy PSL

$ curl -v https://connect.unikname.com/

  • Expire in 0 ms for 6 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 0 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 1 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 2 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 3 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 3 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 3 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 3 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 5 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 5 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 4 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 6 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 6 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 8 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 7 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 7 ms for 1 (transfer 0x55d76a128f50)
  • Expire in 8 ms for 1 (transfer 0x55d76a128f50)
  • Trying 185.42.117.109…
  • TCP_NODELAY set
  • Expire in 149987 ms for 3 (transfer 0x55d76a128f50)
  • Expire in 200 ms for 4 (transfer 0x55d76a128f50)
  • Connected to connect.unikname.com (185.42.117.109) port 443 (#0)
  • ALPN, offering h2
  • ALPN, offering http/1.1
  • successfully set certificate verify locations:
  • CAfile: none
    CApath: /etc/ssl/certs
  • TLSv1.3 (OUT), TLS handshake, Client hello (1):
  • TLSv1.3 (IN), TLS handshake, Server hello (2):
  • TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
  • TLSv1.3 (IN), TLS handshake, Certificate (11):
  • TLSv1.3 (IN), TLS handshake, CERT verify (15):
  • TLSv1.3 (IN), TLS handshake, Finished (20):
  • TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
  • TLSv1.3 (OUT), TLS handshake, Finished (20):
  • SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
  • ALPN, server did not agree to a protocol
  • Server certificate:
  • subject: CN=connect.unikname.com
  • start date: Nov 15 03:00:42 2020 GMT
  • expire date: Feb 13 03:00:42 2021 GMT
  • subjectAltName: host “connect.unikname.com” matched cert’s “connect.unikname.com
  • issuer: C=US; O=Let’s Encrypt; CN=Let’s Encrypt Authority X3
  • SSL certificate verify ok.

GET / HTTP/1.1
Host: connect.unikname.com
User-Agent: curl/7.64.0
Accept: /

  • TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
  • TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
  • old SSL session ID is stale, removing
    < HTTP/1.1 302
    < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
    < Pragma: no-cache
    < Expires: 0
    < Strict-Transport-Security: max-age=15768000 ; includeSubDomains
    < X-Content-Type-Options: nosniff
    < X-Frame-Options: DENY
    < X-XSS-Protection: 1; mode=block
    < Location: https://connect.unikname.com/login
    < Content-Language: en
    < Content-Length: 0
    < Date: Tue, 01 Dec 2020 08:02:39 GMT
    < Server: Unikname
    <
  • Connection #0 to host connect.unikname.com left intact

Que sont ces expire ?

Sinon, je re-teste le process complet de liaison du compte WordPress vers le compte Unikname
et vous tient au courant via ce fil

:ok_hand: tout est ok et à jour

:ok_hand: tout est ok là aussi

Un bug de cURL :joy: sans incidence

Conclusion : cURL fonctionne bien et ne doit donc pas être utilisé par PHP, sinon le plugin fonctionnerait correctement.

Pour résoudre votre problème, je vous propose de le contourner. Il faut donc comprendre comme WordPress fait des requêtes HTTP. Cet article est excellent à ce sujet :

Cette partie de l’article est la plus intéressante :

[…] the Requests library is used in WordPress core.
In the case of WordPress’ implementation of Requests there are only 2 default options, cURL and fsockopen, in that order. fsockopen uses PHP streams, and is a fallback for when the cURL extension isn’t installed.

Donc votre problème vient de l’usage de fsocketopen standard de PHP avec un OpenSSL qui ne supporte la configuration SSL/TLS du serveur distant … mais qui en ligne de commande fonctionne très bien.
Très étrange :thinking: Y aurait-il une autre version d’OpenSSL installée sur votre système ?

:right_anger_bubble:Proposition : installez le paquet php-curl (via apt install php-curl en root) et WordPress devrait faire ses requêtes avec cURL au lieu de fsocketopen. Et comme cURL fonctionne correctement, il est possible que ce changement de configuration résolve votre problème … ou pas :no_mouth: On verra bien.

Si ça ne fonctionne toujours pas, l’étape suivante sera de comprendre pourquoi ce qui fonctionne en ligne de commande ne fonctionne pas dans votre serveur Apache.

En anticipation, il faudra :

  • le résultat de :
    $ php -i | grep -i "\(ssl\|curl\)"
  • le contenu d’un phpinfo() si possible (si vous ne savez pas comment faire, installez ce plugin, copiez-collez le contenu du phpinfo puis supprimez le plugin)

OK c’est bon. :grinning:

Pour répondre à vos questions :

Y aurait-il une autre version d’OpenSSL installée sur votre système ?

Non

Effectivement vous aviez raison.
L’installation de php-curl. Un restart des services d’Apache et c’est tout bon.

J’ai enfin accédé au St Graal
linkOK

$ php -i | grep -i “(ssl|curl)”

/etc/php/7.3/cli/conf.d/20-curl.ini,
Registered Stream Socket Transports => tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2
curl
cURL support => enabled
cURL Information => 7.64.0

Je ne vous recopie pas le post de phpinfo que je vous enverrai par mail privé si vous le souhaitez :wink:

Encore merci pour votre aide précieuse et vos conseils avisés.
Vous pouvez mettre, si vous le souhaitez, le fil de discussion à Résolu.

Juste une remarque, en retour de ma part (c’est le moins que je puisse faire) :
Peut-être devriez-vous écrire, noter quelque part dans votre FAQ ce pré-requis :
installer php-curl (fortement recommandé)

Je reste à votre disposition si vous avez besoin de quoique ce soit.

Cordialement.

jca

2 Likes

:fireworks: :rocket:
Profitez bien de Unikname Connect :wink:
On prépare quelques évolutions intéressantes pour les administrateurs de site WP avec ce plugin dans les prochaines versions !

Tout à fait, on a pas vraiment compris le problème final, simplement contourné.
La doc sera complétée.

Merci de votre patience !

Je clos ce sujet, merci d’en ouvrir un nouveau si vous rencontrez un autre problème.