Todo equipo que construye software B2B llega a la misma bifurcación la primera vez que un cliente serio dice «necesitamos SSO». Dos siglas, OIDC y SAML, ambas afirmando ser la respuesta, y un internet lleno de tablas comparativas que te dicen que SAML es «empresarial» y OIDC es «moderno» y te dejan exactamente tan atascado como antes. Aquí está la versión que de verdad te ayuda a lanzar.

Qué son

SAML es de 2005 y es XML. Un proveedor de identidad firma una aserción («esta es alice@bigco.com, estos son sus grupos») y la envía a tu aplicación, que verifica la firma e inicia su sesión. Se diseñó para el navegador y para la identidad de los empleados, en una época en la que «la empresa» significaba Active Directory on-premise y una pila SOAP. Es verboso, es viejo y está absolutamente en todas partes dentro de las grandes organizaciones, que es el único dato sobre él que te importa.

OIDC es de 2014 y es JSON y JWT, construido sobre OAuth 2.0. Un proveedor de identidad emite un token de ID que tu aplicación valida. Se diseñó para la web moderna: SPA, aplicaciones móviles, APIs, inicio de sesión social. Es más limpio, está mejor especificado para las cosas que realmente construyes hoy y es el protocolo que hoy habla la mayoría de la identidad nueva.