Creazione di un sso system, gestito completamente da ogni progetto per riuscire ad essere completamente autonomi.
In questo wiki (tutorial) ci saranno le istruzioni per configurare Drupal per essere un Identity Provider grazie a SimpleSAMLphp.
Analizzando cosa potrebbe servire:
Providers
Identity Provider (idP)
- Lightweight Directory Access Protocol (LDAP)
- Centralized Authentication Service (CAS)
- Drupal as idP
Service Provider (SP)
- SAML
- Shibboleth
Authentication
- SAML authentication
Authorizzation
- Drupal role(s)
- Groups
Guida originale presa da questo articolo (https://www.hashbangcode.com/article/drupal-9-configuring-drupal-be-identity-provider-simplesamlphp)
modificando le parti necessarie per farlo funzionare con le nostre esigenze.
Moduli necessari per il funzionamento; le versioni sono "blindate" per noi.
Composer:
simplesamlphp
/simplesamlphp
(libreria necessaria per SSO, viene installata in /vendor)drupalauth
/simplesamlphp-module-drupalauth
(modulo della libreria simplesamlphp, viene installata in /vendor/simplesamlphp/simplesamlphp/modules/drupalauth)drupal/drupalauth4ssp:^1.2
(modulo drupal, va installato all'IDP (di solito il nostro www))drupal
/samlauth
(modulo drupal, va installato alle nostre istanze SP, i nostri federati)
Versioni:
simplesamlphp
/simplesamlphp
: 1.19.6-
composer require "drupalauth/simplesamlphp-module-drupalauth:1.9.1 as 1.8.1"
Importante che si faccia così, perché non utilizziamo php >= 8.0 ma siamo a Drupal 9, non a Drupal 7. (https://www.drupal.org/project/drupalauth4ssp/issues/3281586) - composer require 'drupal/drupalauth4ssp:^1.2'
- composer require 'drupal/samlauth:^3.9'
Lo step più importante è il 2, grazie ad esso tutto funziona.