Simplesamlphp como SP
Ir a la navegación
Ir a la búsqueda
Simplesamlphp
- Instalar prerequisitos:
# apt-get install php5 php5-mcrypt php5-mhash php5-mysql openssl
- Instalar simplesamlphp:
Sitio con información para descarga: https://simplesamlphp.org/download
- Descarga, descompresión, creación de link simbolico:
# cd /var/www/html # wget https://simplesamlphp.org/res/downloads/simplesamlphp-1.XX.X.tar.gz # tar zxvf simplesamlphp-1.XX.X.tar.gz # ln -s simplesamlphp-1.XX.X.tar.gz simplesamlphp
- Simplesamlphp requiere un certificado SSL en el directorio certs.
Podemos crear uno autofirmado y copiarlo a dicho directorio:
# mkdir /etc/ssl/certs/sp/ # cd /etc/ssl/certs/sp/ # openssl genrsa -out server.pem 2048 # openssl req -new -key server.pem -out server.csr # openssl x509 -req -days 365 -in server.csr -signkey server.pem -out server.crt # cp * /var/www/html/simplesamlphp/cert/
- Editar archivo de configuracion /var/www/html/simplesamlphp/config/config.php
'auth.adminpassword' => 'secret' # Set a new password for admin web interface 'enable.saml20-idp' => true, # Enable ssp as IdP 'secretsalt' => 'secret', # Set a Salt, in the config file there is documentation to generate it 'technicalcontact_name' => 'Admin name', # Set admin data 'technicalcontact_email' => 'xxxx@riu.edu.ar', 'session.cookie.domain' => '.sp.riu.edu.ar', # Set the global domain, to share cookie with the rest of componnets
Valores recomendados para Produccion:
'admin.protectindexpage' => true, # To protect the index page of simpleSAMLphp 'debug' => FALSE, 'showerrors' => FALSE, # To hide error-trace
Ajustar owner en directorios:
# chown -R apache:apache cert log data metadata
- Editar archivo donde se declaran los identity providers /var/www/html/simplesamlphp/config/authsources.php:
<?php $config = array( // This is a authentication source which handles admin authentication. 'admin' => array( // The default is to use core:AdminPassword, but it can be replaced with // any authentication source. 'core:AdminPassword', ), // An authentication source which can authenticate against both SAML 2.0 // and Shibboleth 1.3 IdPs. 'default-sp' => array( 'saml:SP', // The entity ID of this SP. // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL. 'entityID' => NULL, // The entity ID of the IdP this should SP should contact. // Can be NULL/unset, in which case the user will be shown a list of available IdPs. // 'idp' => NULL, 'idp' => 'https://id.riu.edu.ar/saml2/idp/metadata.php', # Set the entityID of the IdP you gonna use // The URL to the discovery service. // Can be NULL/unset, in which case a builtin discovery service will be used. 'discoURL' => NULL, ), ),
- Conectarse como administrador al sitio idp (en nuestro caso https://id.riu.edu.ar) para obtener SAML 2.0 IdP Metadata“ en formato php.
Pegar su contenido en el archivo /var/www/html/simplesamlphp/metadata/saml20-idp-remote.php
- Agregar el siguiente alias en la definición de virtualhost del servidor web:
Alias /simplesaml /var/www/html/simplesamlphp/www