Um provedor de identidade emite uma Assertion (titular, condições como NotBefore, NotOnOrAfter e AudienceRestriction, declaração de autenticação e atributos), assina-a com XML Signature e a entrega em uma Response pelo navegador, geralmente com o binding HTTP-POST. O provedor de serviço verifica a assinatura com o certificado do IdP obtido dos metadados e confere o público-alvo, a janela de tempo, o valor InResponseTo e a URL de destino.
Os bugs graves de SAML, em sua maioria, são falhas de processamento de XML: encapsulamento de assinatura, ou signature wrapping (o verificador confere um elemento assinado enquanto a aplicação lê outro, não assinado), truncamento por comentários em identificadores de nome (2018, várias bibliotecas), expansão de entidades externas XML e assinaturas que cobrem só parte de uma resposta. Use uma biblioteca mantida e nunca verifique assinaturas com código XPath genérico.
Para aplicações novas, o OpenID Connect costuma ser mais simples, mas clientes corporativos muitas vezes exigem SAML; muitos produtos oferecem os dois. O inspetor de SAML decodifica e verifica asserções localmente.