...
Naturalmente, questa configurazione non fa assolutamente nulla da sola, è necessario un sistema per essere un fornitore di servizi in modo da potervi accedere.
Configurazione di un Drupal SP per accedere all'IdP Drupal
...
Code Block | ||||
---|---|---|---|---|
| ||||
composer require drupal/samlauth |
Dopo aver installato il modulo, vai alla pagina di configurazione in /admin/config/people/saml. Ci sono MOLTI campi in questo modulo ed è piuttosto intimidatorio quando lo vedi per la prima volta, quindi suddividiamo il modulo in sezioni.
LOGIN / LOGOUT
Questo controlla i collegamenti su cui gli utenti faranno clic per accedere e disconnettersi utilizzando SAML, nonché alcuni reindirizzamenti dopo aver eseguito tali azioni. Probabilmente puoi lasciare questa sezione così com'è, a meno che tu non voglia personalizzarla in modo specifico.
SERVICE PROVIDER
Questa sezione descrive in dettaglio i dettagli SP del tuo sito Drupal.
...
La parte successiva di questa sezione è il certificato che verrà utilizzato per crittografare i metadati XML. Nel file Leggimi del modulo di autenticazione SAML sono presenti molti dettagli sui diversi modi per archiviare queste informazioni.
...
IDENTITY PROVIDER
...
Il tuo modulo di configurazione dovrebbe essere simile al seguente.
USER INFO AND SYNCING
La prossima è la sezione relativa alle informazioni sull'utente e alla sincronizzazione. Qui, dobbiamo solo inserire il nome utente e gli attributi email dell'utente in modo che corrispondano ai campi che abbiamo impostato nel file authsources.php.
In questo caso il nome utente è 'cn' e l'indirizzo email dell'utente è 'mail'. Le altre opzioni qui spetta a te abilitare o disabilitare. Le impostazioni nello screenshot qui sotto sono piuttosto aperte e consentono un maggiore controllo sulla corrispondenza dei campi utente rispetto a quanto dovrebbe essere abilitato in un ambiente di produzione. Detto questo, dipende da te quanto aprire le impostazioni per la tua installazione.
Aggiunta della configurazione Drupal a SimpleSAMLphp
Infine, dobbiamo copiare la configurazione dal Drupal SP nel Drupal IdP. Dovresti andare al percorso /saml/metadata nel sito SP e copiare l'XML da quella pagina, convertirlo in un array PHP in SimpleSAMLphp.
Dalla pagina /saml/metadata
appare un xml in questo modo
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2023-08-16T06:21:37Z" cacheDuration="PT604800S" entityID="DrupalSP" ID="pfx7c9e778a-25cf-85a4-24bb-7d58247d5eaa"><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="#pfx7c9e778a-25cf-85a4-24bb-7d58247d5eaa"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>VCg0woxsW0K9uYNmosRF4z/u1EcLDe48yALx5W79U7U=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>lALbY9+TjURYpfm+S2v8RT6NgBCSnOHN6i2pL7KLY/hOuAh/gXH5wtA3njoWLF/StwwtNtPGXhz5OcYk2zBzjX+o6+MnHjLZb2PjKvjZpfZ74BPSq332diUOEpULURDTmZGwHrDE0UnsMBdN0h7FcsXLACHGQWvveXSxdwT6n0ARsu+2MHTlxtQrqZKL0ycNcwgcq7DJ6qiYEs3RX8hU5CnEl7EHji3rTIHHiiCJjhhSSO1BkmaqRxf8Nj7XoGGPI0fYAftjZf8WU/2dVd7+zOJZfqx+aTFzLxjOBd5iTnG3LAxj3REbzQbY+prHBOurL5GDgISDdGn8hL5bwt1k5iZzKzIkkhSj9b1yqJ/GuWpjT+SlQR9oRTeak/DcAhHnSKwFNA//V9iFXyK2oUu/VTPwQbEZVIiItUQ54AWXaZ/e5Eu4G9nVToeC/q81GjD1BTDfz4QWNdF2JPE7BUyOvgNx+N6iFUI0dy1NOy8wrJVNm+QCYMmZj0+7pI2gwbwg</ds:SignatureValue>
<ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIE8zCCA1ugAwIBAgIUDjUT5iCQc/E6iw7tsqIsYOh39AAwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAklUMQ4wDAYDVQQIDAVJdGFseTEQMA4GA1UEBwwHQm9sb2duYTEPMA0GA1UECgwGQ0lORUNBMRAwDgYDVQQLDAdQb3J0YWxpMRIwEAYDVQQDDAltdWx0aXNpdGUxIDAeBgkqhkiG9w0BCQEWEXRvbGlAdWx0cmFiaXQub3JnMB4XDTIzMDgxNDA5Mjk0NVoXDTMzMDgxMzA5Mjk0NVowgYgxCzAJBgNVBAYTAklUMQ4wDAYDVQQIDAVJdGFseTEQMA4GA1UEBwwHQm9sb2duYTEPMA0GA1UECgwGQ0lORUNBMRAwDgYDVQQLDAdQb3J0YWxpMRIwEAYDVQQDDAltdWx0aXNpdGUxIDAeBgkqhkiG9w0BCQEWEXRvbGlAdWx0cmFiaXQub3JnMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3Mm7TZlo2lcR1ecGbjBSEcNOIX9XvTMu+/gRbot2yY3Io7qhtUZIp73jrU9Iaqlk2GvuxbysoSzdlDsrrc3+HJ7Kqu1xJi1tOZ0wiMEZOdoRPfCkWdpgmDnVCJomS2D55oqB3+b0nV/74w2QtPI69VaSpAxtDB22ojtoxakMAyZ+ynt5ggaMQtOIb1w5vFdOlSsrV0yPXA1QV1IaIfvvWuq5/SRWtIE8bPneh9GlC+MU3KKaRhT0jyubxEV9s30lSohZ8o8r7AjlTq+Yx4n4j5JDG1lKCUc86GRj0mLZ7GXmQQilvtNMBw/R1+EUaS7HvvUqbZwsG4dlMNFW6vOTfRbe0devpCEBOB8JmzoUYJanAnBv8EYVf1euCsgYvQsginWzjw8/Bx5bEGh/FPS1pPChOlMqwrDZhLqdUGaLkxICNNe8EExXqnHq0h+egiZGPLjtOVBAvImsQHfUiLLORpw2uacVW/+wmMadqwOhyUXlJZZU9uM81+PeEAtzGI0tAgMBAAGjUzBRMB0GA1UdDgQWBBQFHhXiJRQE2mvwbL0TZAz/mw0D7TAfBgNVHSMEGDAWgBQFHhXiJRQE2mvwbL0TZAz/mw0D7TAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBgQAlQVF5uNYRVCxGBO3rOLlauNPcyGS0YYj3eTme5Qi5jLrgFmimd2KmWjPx21rLe337xYCnyuox6Z7RrcX9fXnfznRFbYB/PFIqwyuplfNuMvfy8Y+HOqL2ne+mgYplExbt4AZPbA4kGCdfHw5QYi0KTEQRnyLoxT0iObCzfVQOcqsaa+PwnriGMtnW6uGhhrwgSiTjyToZzPGHnBU1UKXoPwprj69KtBf0zxh2aUQ9ego5pkAmiLCQCCVIjeIIWGZou40YRZ+K/XLtNj77uiRlDCBClDTkCZAlarhqluBCWBEgV+3Q0otTGwFMZHHqcHBZFTr7NzLeyRogVEJkzr0jV7uAOgonruRtg0Lw7H4AYmc/bVgrH75O6HRRaDpGfzztQGt/2Oirh4G5+ZZa7MWaU6bfad0Bvz0H9P9mvE1brMrZfnNcrroTwl9m1Kj78Q8mZV/s4x9fAzjx29TT0/ZZbhAzDXp6qIc3iDesk8KWVvYum8vxbqEtxOvNqsXEGKw=</ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature>
<md:SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>MIIE8zCCA1ugAwIBAgIUDjUT5iCQc/E6iw7tsqIsYOh39AAwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAklUMQ4wDAYDVQQIDAVJdGFseTEQMA4GA1UEBwwHQm9sb2duYTEPMA0GA1UECgwGQ0lORUNBMRAwDgYDVQQLDAdQb3J0YWxpMRIwEAYDVQQDDAltdWx0aXNpdGUxIDAeBgkqhkiG9w0BCQEWEXRvbGlAdWx0cmFiaXQub3JnMB4XDTIzMDgxNDA5Mjk0NVoXDTMzMDgxMzA5Mjk0NVowgYgxCzAJBgNVBAYTAklUMQ4wDAYDVQQIDAVJdGFseTEQMA4GA1UEBwwHQm9sb2duYTEPMA0GA1UECgwGQ0lORUNBMRAwDgYDVQQLDAdQb3J0YWxpMRIwEAYDVQQDDAltdWx0aXNpdGUxIDAeBgkqhkiG9w0BCQEWEXRvbGlAdWx0cmFiaXQub3JnMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3Mm7TZlo2lcR1ecGbjBSEcNOIX9XvTMu+/gRbot2yY3Io7qhtUZIp73jrU9Iaqlk2GvuxbysoSzdlDsrrc3+HJ7Kqu1xJi1tOZ0wiMEZOdoRPfCkWdpgmDnVCJomS2D55oqB3+b0nV/74w2QtPI69VaSpAxtDB22ojtoxakMAyZ+ynt5ggaMQtOIb1w5vFdOlSsrV0yPXA1QV1IaIfvvWuq5/SRWtIE8bPneh9GlC+MU3KKaRhT0jyubxEV9s30lSohZ8o8r7AjlTq+Yx4n4j5JDG1lKCUc86GRj0mLZ7GXmQQilvtNMBw/R1+EUaS7HvvUqbZwsG4dlMNFW6vOTfRbe0devpCEBOB8JmzoUYJanAnBv8EYVf1euCsgYvQsginWzjw8/Bx5bEGh/FPS1pPChOlMqwrDZhLqdUGaLkxICNNe8EExXqnHq0h+egiZGPLjtOVBAvImsQHfUiLLORpw2uacVW/+wmMadqwOhyUXlJZZU9uM81+PeEAtzGI0tAgMBAAGjUzBRMB0GA1UdDgQWBBQFHhXiJRQE2mvwbL0TZAz/mw0D7TAfBgNVHSMEGDAWgBQFHhXiJRQE2mvwbL0TZAz/mw0D7TAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBgQAlQVF5uNYRVCxGBO3rOLlauNPcyGS0YYj3eTme5Qi5jLrgFmimd2KmWjPx21rLe337xYCnyuox6Z7RrcX9fXnfznRFbYB/PFIqwyuplfNuMvfy8Y+HOqL2ne+mgYplExbt4AZPbA4kGCdfHw5QYi0KTEQRnyLoxT0iObCzfVQOcqsaa+PwnriGMtnW6uGhhrwgSiTjyToZzPGHnBU1UKXoPwprj69KtBf0zxh2aUQ9ego5pkAmiLCQCCVIjeIIWGZou40YRZ+K/XLtNj77uiRlDCBClDTkCZAlarhqluBCWBEgV+3Q0otTGwFMZHHqcHBZFTr7NzLeyRogVEJkzr0jV7uAOgonruRtg0Lw7H4AYmc/bVgrH75O6HRRaDpGfzztQGt/2Oirh4G5+ZZa7MWaU6bfad0Bvz0H9P9mvE1brMrZfnNcrroTwl9m1Kj78Q8mZV/s4x9fAzjx29TT0/ZZbhAzDXp6qIc3iDesk8KWVvYum8vxbqEtxOvNqsXEGKw=</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</md:KeyDescriptor>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://federal.ddev.site/saml/sls"/>
<md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://federal.ddev.site/saml/acs" index="1"/>
</md:SPSSODescriptor>
</md:EntityDescriptor> |
Se non si vede in questo modo(es con firefox, bisogna fare un click destro con il mouse e cliccare su "View page source").
Questo xml va copiato nel nostro /idp, di seguito selezionando Federation e andando al link XML to SimpleSAMLphp metadata converter ,
...
...