Antonio Braccolino, Identity & Access, home

Lab · 06 / 16

Un login, tante app.

Il protocollo dietro gran parte del SSO aziendale. Il browser trasporta XML firmato tra l’app e l’IdP, e l’app non parla mai direttamente con l’IdP.

Hai completato tutti i lab

Tutti i 16 lab, dalla mappa dello IAM alle architetture di riferimento. L’identità non ha più segreti per te.

Vedi i traguardi

Condividi il tuo badge

Instagram: scarica l’immagine e pubblicala come post o storia. LinkedIn: quando lo apri il testo viene copiato, incollalo e allega l’immagine.

SAML 2.0 · SSO · Base · 5 passi

Cosa impari

  • Cosa sono SP e IdP
  • Perché il browser fa da postino
  • Quali controlli rendono affidabile un’asserzione
Browser
dove sei tu
SP
service provider: l’app che apri
IdP
identity provider: dimostra chi sei
  1. GET /dashboard

    Passo 1 di 5

    Nessuna sessione nell’app

    In parole semplici Bussi alla porta dell’ufficio, ma non hai ancora il badge.

    L’utente apre una pagina del service provider (SP). Non c’è un cookie di sessione, quindi l’SP deve chiedere all’IdP chi è.

  2. 302 → SAMLRequest

    Passo 2 di 5

    AuthnRequest attraverso il browser

    In parole semplici L’ufficio ti dà una busta chiusa da portare all’ufficio badge.

    L’SP crea una AuthnRequest, la comprime e la codifica, e reindirizza il browser all’IdP. RelayState ricorda dove voleva andare l’utente.

    GET https://idp.example.com/sso/saml
      ?SAMLRequest=fZJNT8MwDIb/SpV7m6RfqNHaaWyoiAuTKA... (deflate + base64)
      &RelayState=/dashboard
    
    <samlp:AuthnRequest ID="_a1b2c3" Version="2.0"
      Destination="https://idp.example.com/sso/saml"
      AssertionConsumerServiceURL="https://app.example.com/saml/acs">
      <saml:Issuer>https://app.example.com</saml:Issuer>
    </samlp:AuthnRequest>
  3. password + codicefirma con passkey

    Passo 3 di 5

    L’utente accede una volta sola

    In parole semplici All’ufficio badge mostri il documento una volta. La volta dopo ti riconoscono già.

    L’IdP autentica l’utente, con MFA se la policy lo richiede. Se l’utente ha già una sessione sull’IdP, questo passo si salta: è il "single" di single sign-on.

  4. POST /saml/acs · SAMLResponse

    Passo 4 di 5

    Asserzione firmata verso l’app

    In parole semplici Riporti una lettera con un timbro ufficiale che dice chi sei.

    L’IdP restituisce un form che si invia da solo e consegna la risposta firmata all’Assertion Consumer Service dell’SP. L’SP controlla firma, Issuer, Audience, Destination, InResponseTo e la scadenza NotOnOrAfter.

    <saml:Assertion ID="_d4e5f6" IssueInstant="2026-10-19T10:00:00Z">
      <saml:Issuer>https://idp.example.com</saml:Issuer>
      <ds:Signature>…</ds:Signature>
      <saml:Subject>
        <saml:NameID Format="…:emailAddress">ada@example.com</saml:NameID>
        <saml:SubjectConfirmationData InResponseTo="_a1b2c3"
          NotOnOrAfter="2026-10-19T10:05:00Z" Recipient="https://app.example.com/saml/acs"/>
      </saml:Subject>
      <saml:Conditions><saml:AudienceRestriction>
        <saml:Audience>https://app.example.com</saml:Audience>
      </saml:AudienceRestriction></saml:Conditions>
      <saml:AttributeStatement>
        <saml:Attribute Name="groups"><saml:AttributeValue>finance</saml:AttributeValue></saml:Attribute>
      </saml:AttributeStatement>
    </saml:Assertion>
  5. Set-Cookie · 302 /dashboard

    Passo 5 di 5

    Sessione creata

    In parole semplici L’ufficio ti dà il tuo badge: da ora entri e basta.

    L’SP crea la sua sessione e manda l’utente a RelayState. I gruppi dell’asserzione possono decidere i ruoli nell’app. Uscire dall’SP non chiude la sessione sull’IdP, a meno che non sia configurato il single logout.

Domini e valori d’esempio. Nulla esce dal tuo browser.