Collegamento di Moodle a LTI

@david David, potresti condividere con me un’istanza di configurazione? Ho provato più volte a integrare Discourse con Moodle 3.10, ma senza successo. Compare sempre questo messaggio:

OpenSSL::PKey::RSAError (Neither PUB key nor PRIV key: nested asn1 error)
lib/middleware/omniauth_bypass_middleware.rb:50:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:355:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:187:in `call'

Cosa hai inserito nell’impostazione “chiave pubblica della piattaforma”? Se ricordo bene, Moodle fornisce di default un URL JWKS, che questo plugin non supporta.

Dovrebbe essere possibile trovare da qualche parte il certificato grezzo, che puoi copiare e incollare in Discourse,

@david Grazie per la risposta. Sì, in Moodle è stato visualizzato Public keyset URL: https://mysiet.com/mod/lti/certs.php.
Ho aperto questo URL nel browser e ho visto quanto segue:

{
    "keys": [
        {
            "kty": "RSA",
            "alg": "RS256",
            "kid": "1371e22ce81f1dbb936a",
            "e": "AQAB",
            "n": "xXOfRS1UronVdVUEal0jyIhyNkAcbCRb6K2uzLsoQgRAaqA2ixbshCTWW_Yj-ZoJgg7UoruO65TB5EIldMyPJbYjYoMF0rB5a-wcvEhtWxfLs8FsDNLM9czjYXZUXBJ6sxIGNp-9Wp4c6PaecvXDfc4bJoHU8Ee5WzUk2XuX8dXX4jx8ipwzRa8qaQT-0cIPnZw4LmkPiTgn-gA-LuqjG2w9awwjnWTuZbTNPTphgPO9FD4lD_dAY3biURU_lEyJXflqFYwbrpja-b8y23qixwiHEYsM3_2F5D-DrI3Nsty219-ALDmJ0wY1hnr4p2NfwYZr_d2YjpIiJW_8iW3SRQ",
            "use": "sig"
        }
    ]
}

Ho copiato il valore di “n” nel JSON (quello più lungo) in Discourse, ma l’errore rimane lo stesso.

Non credo che copiare il valore n sia sufficiente: Discourse richiede la chiave in formato PEM. A lungo termine potremmo aggiungere il supporto per JWK, ma nel breve periodo dovresti riuscire a farla funzionare convertendo la chiave.

Esistono alcuni strumenti online che convertono dal formato JWK al formato PEM. Ecco uno di questi. (Ovviamente non posso garantire la sicurezza di questi strumenti online, quindi assicurati di incollare solo informazioni pubbliche)

Una volta ottenuta la chiave PEM (che inizia con -----BEGIN PUBLIC KEY-----), Discourse dovrebbe accettarla.