Keycloak IdP
Introduzione
Single Sign-On (SSO) è una tecnologia che consente agli utenti di effettuare l'accesso una sola volta e poi ottenere l'accesso a più applicazioni/servizi senza dover autenticarsi nuovamente.
Se un portale web include diverse sezioni indipendenti di grandi dimensioni (forum, chat, blog, ecc.), un utente può sottoporsi alla procedura di autenticazione in uno dei servizi e ottenere automaticamente l'accesso a tutti gli altri servizi senza dover inserire le credenziali più volte.
SSO è sempre garantito dalla cooperazione di due applicazioni: un Identity Provider e un Service Provider (anche chiamati IdP e SP). ONLYOFFICE SSO implementa solo il SP. Molti fornitori diversi possono agire come IdP, ma questo articolo considera l'implementazione di Keycloak.
Creare un IdP in Keycloak
-
Accedi a Keycloak come amministratore.
-
Vai su Gestisci realm e seleziona il realm in cui verrà configurata la connessione.
-
Vai su Client e clicca sul pulsante Crea client.
-
Nella pagina che si apre, imposta quanto segue: nel campo Tipo di client, seleziona SAML. Nel campo ID client, inserisci
https://myportal-address.com/sso/metadata, sostituendo myportal-address.com con il nome di dominio del tuo spazio di lavoro. Nei campi Nome e Descrizione, inserisci un nome e una descrizione qualsiasi per il client.
-
Clicca sul pulsante Avanti.
-
Compila i seguenti campi:
noteSostituisci
myportal-address.comcon il nome di dominio del tuo spazio di lavoro.Dettagli dell'applicazione URL radice https://myportal-address.com/ssoURL principale https://myportal-address.com/ssoURI di reindirizzamento validi https://myportal-address.com/sso/slo/callbackhttps://myportal-address.com/sso/acsURI di reindirizzamento post logout validi https://myportal-address.com/sso/slo/callbackURL di elaborazione SAML principale https://myportal-address.com/sso/acs
Compila i seguenti campi nella scheda Avanzate:
URL di binding POST dell'Assertion Consumer Service https://myportal-address.com/sso/acsURL di binding di reindirizzamento dell'Assertion Consumer Service https://myportal-address.com/sso/acsURL di binding POST del servizio di logout https://myportal-address.com/sso/slo/callbackURL di binding di reindirizzamento del servizio di logout https://myportal-address.com/sso/slo/callback
-
Clicca sul pulsante Salva.
-
Nella sezione Capacità SAML, imposta Formato ID nome su email.
-
Nella sezione Firma e Crittografia, abilita l'opzione Firma Asserzioni e seleziona un algoritmo di firma: RSA_SHA1, RSA_SHA256 o RSA_SHA512.
-
Clicca sul pulsante Salva.
-
Vai alla sezione Ambiti Client e clicca sul link con il nome del tuo spazio di lavoro
https://myportal-address.com/sso/metadata-dedicated.Clicca sul pulsante Aggiungi mappers predefiniti e nella finestra pop-up seleziona i seguenti mappers:
- X500 email
- X500 givenName
- X500 surname
Quindi clicca sul pulsante Aggiungi.

Configurazione di ONLYOFFICE SP
-
Assicurati di essere connesso come Amministratore al tuo spazio di lavoro ONLYOFFICE Apps e vai al menu Impostazioni, seleziona la sezione Integrazione e apri la scheda Single Sign-On.
-
Abilita SSO utilizzando l'interruttore Abilita autenticazione Single Sign-on e incolla
https://<keycloakurl>/realms/<realm_name>/protocol/saml/descriptornel campo URL per il metadato XML Idp. Sostituisci<keycloakurl>e<realm_name>con l'indirizzo del tuo server Keycloak e il nome del realm in cui è stata creata la connessione. Il link finale deve essere accessibile da un browser.
-
Premi il pulsante con la freccia verso l'alto per caricare i metadati IdP. Il modulo delle impostazioni del fornitore di servizi ONLYOFFICE verrà automaticamente compilato con i tuoi dati dall'IdP Keycloak.
-
Seleziona lo stesso Algoritmo di Verifica della Firma Predefinito specificato in Keycloak.
-
Cambia il Formato NameId in emailAddress.
-
Ora devi creare un certificato nella sezione Certificati SP. Per farlo, clicca sul pulsante Aggiungi certificato.
-
Nella finestra modale aperta, clicca sul link Genera Nuovo Certificato Auto-Firmato, e scegli l'opzione firma e cifra nella lista Usa per. Prima di salvare il certificato, copia il testo del Certificato Pubblico negli appunti e salvalo in un file (sarà necessario per Keycloak), quindi clicca sul pulsante OK.

-
Vai alla sezione Mapping degli attributi e assegna i seguenti valori agli attributi:
- Nome: urn:oid:2.5.4.42
- Cognome: urn:oid:2.5.4.4
- Email: urn:oid:1.2.840.113549.1.9.1
Nella sezione Impostazioni Avanzate, puoi selezionare l'opzione Nascondi pagina di autenticazione per nascondere la pagina di autenticazione predefinita e reindirizzare automaticamente al servizio SSO.
Se hai bisogno di ripristinare la pagina di autenticazione predefinita (per poter accedere allo spazio di lavoro se il tuo server IdP fallisce), puoi aggiungere la chiave /login?skipssoredirect=true dopo il nome di dominio del tuo spazio di lavoro nella barra degli indirizzi del browser.
-
Clicca sul pulsante Salva.
-
Ritorna a Keycloak per configurare la crittografia, apri il tuo client e vai alla sezione Chiavi. Disabilita l'opzione Firma client richiesta e abilita Cifra asserzioni. Nella finestra pop-up, seleziona Importa, imposta il Formato archivio come Certificato PEM e clicca sul pulsante Sfoglia. Specifica il percorso al file del certificato dal passo 7 e clicca su Conferma.
Verifica del funzionamento di ONLYOFFICE SP con Keycloak IdP
-
Vai alla pagina di autenticazione di ONLYOFFICE Apps (ad es.,
https://myportal-address.com/login). -
Clicca sul pulsante Single Sign-on. Se il pulsante manca, significa che SSO non è abilitato.
-
Se tutti i parametri SP e IdP sono impostati correttamente, verrai reindirizzato al modulo di login di Keycloak IdP:

-
Inserisci il login e la password dell'utente Keycloak e clicca sul pulsante Accedi.
-
Se le credenziali sono corrette, verrai reindirizzato alla pagina principale dello spazio di lavoro (l'utente verrà creato automaticamente se mancante, o i dati verranno aggiornati se modificati nell'IdP).
