Il Single Sign-on (SSO) con SAML 2.0 permette ai tuoi utenti di accedere a deskbird utilizzando il loro provider di identità (IdP) esistente. Qui sotto trovi le opzioni rapide per Okta e Keycloak, oltre a una guida completa per la configurazione della federazione (SSO avviato dal Service Provider).
- SAML con Okta
- SAML con Keycloak
- Configurazione della Federazione SAML 2.0
- Rinnovo del certificato SAML
- Quando usare SAML vs. OAuth / OIDC
1. SAML con Okta
Usa la nostra guida dedicata a Okta per configurare un'app SAML su Okta, mappare gli attributi richiesti e testare il Single Sign-on (SSO) avviato dal Service Provider su deskbird. Include screenshot, dichiarazioni di attributi e suggerimenti per la risoluzione dei problemi.
👉 Guida passo passo: Configura SAML SSO con Okta
2. SAML con Keycloak
Preferisci usare Keycloak? Segui la guida Keycloak per avviare il SSO su deskbird.
👉 Guida passo passo: Configura SAML SSO con Keycloak
3. Configurazione della Federazione SAML 2.0
SAML 2.0 (Security Assertion Markup Language) è un protocollo basato su XML per scambiare in modo sicuro dati di autenticazione/autorizzazione tra un provider di identità (IdP) e un service provider (SP). deskbird supporta il Single Sign-on (SSO) avviato dal Service Provider (l'autenticazione deve partire da deskbird).
Se vuoi una tile nel tuo launcher IAM (ad es. OneLogin, JumpCloud) su cui gli utenti possono cliccare, aggiungi un'applicazione Bookmark che avvia il flusso SP-initiated su deskbird:https://app.deskbird.com/saml?providerName={saml-provider-ID}
L'ID del provider SAML segue il formato saml.{nome-azienda}. Esempio per "Polaroid": https://app.deskbird.com/saml?providerName=saml.polaroid.
Crea una applicazione di Federazione separata e nascosta nel tuo IdP per la connessione SAML stessa (non visibile agli utenti).
3.1 Configurazione generale
Configura il tuo IdP con i seguenti dettagli del Service Provider di deskbird:
| Service Provider ID (Entity ID) | https://api.deskbird.app/saml/metadata |
| ACS URL (Callback) | https://app.deskbird.com/__/auth/handler |
💡 Per un'autenticazione SAML 2.0 corretta, imposta NameID sull'indirizzo email dell'utente con formato urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.
Esempio di snippet di assertion
<saml2:Subject> <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" NameQualifier="<IdP Entity ID>" SPNameQualifier="https://api.deskbird.app/saml/metadata" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"> email </saml2:NameID> <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> </saml2:Subject> Invia a deskbird per la configurazione
| IdP Entity ID | |
| IdP SSO URL | |
| IdP Certificate | Deve iniziare con -----BEGIN CERTIFICATE----- e terminare con -----END CERTIFICATE----- (incolla senza caratteri extra/nuove righe). |
Se hai un file di metadata dell'IdP, puoi semplicemente inviare quello.
3.2 Attributi utente
Attributi obbligatori (usa i nomi esatti):
| Attributo | Descrizione |
| Indirizzo email UPN usato per l’accesso, notifiche e informazioni sulle prenotazioni | |
| first_name | Nome dell’utente (visualizzato sulla piattaforma) |
| last_name | Cognome dell’utente (visualizzato sulla piattaforma) |
Attributi consigliati:
| Attributo | Descrizione |
| avatar_url | URL dell’immagine del profilo; se omesso vengono usate le iniziali |
| external_id | ID utente IdP per il matching |
| manager_id | ID IdP del responsabile diretto dell’utente (usato per le approvazioni) |
| locale | Lingua preferita dell’utente (predefinita quella aziendale se omessa) |
| office | Sede principale dell’utente |
| job_title | Ruolo lavorativo dell’utente |
| department | Dipartimento dell’utente (usato per la gestione degli accessi) |
| company_entity | Entità legale dell’utente (predefinita quella aziendale se omessa) |
3.3 File di metadata
Dopo aver creato l’applicazione SAML nel tuo IdP, inviaci il file di metadata che includa:
- Certificato
- Entity ID
- SSO URL
4. Rinnovo del certificato SAML
I certificati SAML hanno una data di scadenza (tipicamente 1–3 anni dopo la creazione). Quando un certificato sta per scadere, il tuo provider di identità ti avviserà. È importante rinnovare il certificato prima della scadenza per evitare interruzioni nell’accesso.
Inizia il processo di rinnovo almeno 2–3 settimane prima della data di scadenza per avere tempo di coordinarti.
Procedura di rinnovo passo passo (Microsoft Entra ID):
- Nel portale Microsoft Entra ID, vai alla tua Enterprise Application di deskbird.
- Vai su Single sign-on > SAML Certificates.
- Clicca sull’icona Modifica (matita).
- Clicca su Nuovo certificato.
- Imposta la data di scadenza (predefinita 3 anni).
- Clicca su Salva. Il nuovo certificato apparirà con stato Inattivo.
- Scarica il nuovo certificato (formato Base64).
- Invia il certificato al supporto deskbird tramite un ticket di assistenza. Includi il nome della tua azienda e specifica che si tratta di un rinnovo certificato SAML.
- Il supporto deskbird sostituirà il certificato dal nostro lato e ti confermerà quando sarà pronto.
- Una volta ricevuta la conferma da deskbird, torna su Entra ID e attiva il nuovo certificato (impostalo su Attivo).
Interruzioni di servizio
Normalmente non ci sono interruzioni durante la rotazione del certificato, purché tu coordini i tempi di attivazione con il supporto deskbird. Il vecchio certificato continua a funzionare fino a quando non passi a quello nuovo.
5. Quando usare SAML vs. OAuth / OIDC
Se stai decidendo tra SAML e OAuth (Microsoft SSO), considera quanto segue:
| Funzionalità | SAML 2.0 | OAuth / Microsoft SSO / Google SSO |
|---|---|---|
| Gestione dei certificati | Richiede rinnovo periodico | Non è necessaria la gestione dei certificati |
| Esperienza utente | Gli utenti cliccano su "Accedi con account aziendale (SSO)" nella schermata di login | Gli utenti cliccano su "Accedi con Microsoft" nella schermata di login |
| Flessibilità IdP | Funziona con qualsiasi IdP SAML 2.0 (Okta, Keycloak, ADFS, ecc.) | Solo Microsoft e Google |
| Requisito del piano | User and Data Management Plus | Disponibile su tutti i piani |