Ciao a tutti,
Ho finalmente integrato il mio sito Discourse con Shibboleth. È stato semplice, … una volta che l’ho capito
.
-
Fai funzionare Shibboleth su un server web (non deve necessariamente essere lo stesso del tuo server Discourse). Chiamiamolo
shib.univ.edu. -
Crea una directory su
shib.univ.eduper gestire l’SSO di Discourse. Chiamiamoladiscourse-sso. -
Proteggi questa directory utilizzando Shibboleth. Se stai usando Apache, di solito significa inserire qualcosa del genere in
discourse-sso/.htaccess:# Intestazione Shibboleth AuthType Shibboleth ShibRequireSession On ShibApplicationId default ShibExportAssertion On require shib-user ~ ^.+@univ\.edu$ -
Ottieni una libreria che esegua la firma descritta nella guida ufficiale SSO di Discourse. Io uso cviebrock/discourse-php. Crea
sso.phpqui, copiandolo dalle istruzioni per l’uso. -
Il tuo
usernameeemailsaranno nella variabile d’ambienteeppn. Quindi, se hai seguito le istruzioni per l’uso descritte in cviebrock/discourse-php (link sopra), dovresti semplicemente impostare// Inserisci qui il tuo codice di autenticazione utente ... // Obbligatorio e deve essere coerente con la tua applicazione $userEmail = getenv( 'eppn' ); // Obbligatorio e deve essere univoco per la tua applicazione $userId = strstr( $userEmail, '@', true ); -
Abilita l’SSO dalla guida ufficiale SSO di Discourse. Fai puntare il tuo
sso urlahttps://shib.univ.edu/discourse-sso/sso.phpe dovresti essere a posto.
GI