Legge til nytt nettsted

For å bruke Single Sign-On på en ny Discourse-installasjon må man:

  • Opprette nytt nettsted i administrasjonsgrensesnittet til Discourse SSO.

  • Konfigurere Discourse-installasjonen til å bruke Sigle Sign-On.

Opprette nettsted i administrasjonsgrensesnittet

  1. Logg på Django-admingrensesnittet med superuser-rettigheter.

  2. Gå til SSO -> Discourse Sites og opprett et nytt Discourse Site-objekt med følgende innstillinger:

    • Discourse URL: Nettstedets url, f.eks https://discourse.example.com/

    • HMAC Secret: Generer en kryptografisk sterk hemmelighet, for eksempel med python3 -c "import secrets; print(secrets.token_urlsafe())"

  3. Lagre objektet, og gå tilbake til oversiktssiden SSO -> Discourse Sites. Bak det nyopprettede objektet, i kolonnen DISCOURSE CONNECT URL, finner du lenken “Discourse Connect URL for […]”. Kopier denne lenken.

Konfigurere Discourse-installasjonen

Logg på Discourse-installasjonen med admin-rettigheter. Gå til hamburgermenyen -> Settings og endre følgende innstillinger. (Bruk gjerne søkefunksjonen for å finne innstillingen.)

Navn på innstilling

Verdi

Merknad

discourse connect url

URL-en fra steg 3 i forrige punktliste.

discourse connect secret

HMAC Secret fra steg 2 i forrige punktliste.

enable discourse connect

Skru på Feide-innlogging.

email editable

AV

Ikke la brukerne endre epostadressen sin selv.

auth overrides email

Bruk epostadressen fra Feide. Epostadressen settes/oppdateres ved hver pålogging.

auth overrides username

Ikke la brukeren velge brukernavn selv, bruk verdien vi får fra Feide.

auth overrides name

Ikke la brukeren velge navn selv, bruk verdien vi får fra Feide.

discourse connect overrides groups

Tilordne alle gruppemedlemskap via Single Sign-On. Gir brukerne automatisk medlemskap i grupper ut fra hvilke emner de er oppmeldt i, eller registrert i FS som faglærer i.

min username length

2

Nødvendig for at også NTNU-brukere med korte brukernavn skal kunne logge inn.

max username length

64

NTNU-brukere beholder brukernavnet sitt, mens andre Feide-brukere får Discourse-brukernavn på formen brukernavn_domene.no (med understrek i stedet for alfakrøll, pga. begrensningser i Discourse. For å kunne sette Discourse-brukernavnet til et så langt brukernavn som “fremmede” Feide-brukere kan ende opp med, må vi øke makslengden for brukernavn i Discourse.