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