SAML 2.0

Como o SAML 2..0 funciona?
https://www.varonis.com/blog/what-is-saml/

SAML 2.0 é um protocolo e um conjunto de regras que permitem criar um sistema de autenticação, autorização e accounting baseado em ABAC (Attribute Based Access Control) e RBAC (Role Based Access Control) de forma descentralizada e permitindo SSO (Single Sign On) em seu ecossistema de softwares.

Como implementar um SAML Identity Provider?

Há diversas bibliotecas, softwares e plataformas para criar seu Identity Provider capaz de armazenar as credenciais e permissões dos usuários (autenticação e autorização).

Softwares Standalone

SimpleSAMLPHP

Site oficial:
https://simplesamlphp.org/

Stacks: PHP

Keycloak

Site oficial:
https://www.keycloak.org/

Stacks: JavaEE, JBoss, WildFly, Quarkus, JDBC compliant database (PostgreSQL, MySQL, Oracle, SQLServer, H2...)

Shibboleth

Site oficial:
https://www.shibboleth.net/products/

Gluu

Site oficial:
https://gluu.org/docs/gluu-server/4.0/admin-guide/saml/

Stacks

OpenAM

Site oficial:
https://forgerock.github.io/openam-community-edition/
https://github.com/ForgeRock/OpenAM-Community-Edition

Tutorial:
https://youtu.be/M1eTAJV2ZCk

Stacks: Java

Bibliotecas

Samlify - SAML Identity Provider & Service Provider

O Samlify é uma biblioteca em NodeJS para criar identity e service providers para o SAML.

Site oficial:
https://samlify.js.org/#/?id=samlify

Github:
https://github.com/tngan/samlify

Mujina

https://github.com/OpenConext/Mujina

Referências

Sobre implementação de SAML iDP em Java e NodeJS
https://stackoverflow.com/questions/56584633/how-to-create-own-idp-for-saml-in-java-or-node

Várias implementações SAML 2.0
https://medium.com/the-new-control-plane/i-need-a-saml-stack-now-63d9691e2d43

You should also read: