
Aujourd’hui juste un petit script permettant de mettre à jour les metadata de l’IDP shibboleth pour que le champ validUntil ne soit jamais expiré. Il m’est effectivement arrivé que celui-ci expire et qu’il soit donc nécessaire de passer sur tous les SP pour renouveler les metadata.
#!/bin/sh
# Déclaration des fichiers
folderMetadata=/opt/shibboleth-idp/metadata/
fileMetadata=idp-metadata.xml old
FileMetadata=idp-metadata.xml.old
# Déclaration des variables
validUntil=`date –rfc-3339=ns |sed ‘s/ /T/’ | cut -c-23 | sed ‘s/$/Z/’`
monthCurrent=`date +%m`
yearCurrent=`date +%y`
# Save old metadata
/usr/bin/cp $folderMetadata$fileMetadata $folderMetadata$oldFileMetadata
if [ $monthCurrent -lt 7 ]
then
monthFuture=$(($monthCurrent+3))
validUntilFuture=`echo $validUntil | sed ‘s/-‘$monthCurrent’-/-0’$monthFuture’-/g’`
cat $folderMetadata$oldFileMetadata | sed ‘s/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]. [0-9][0-9][0-9]Z/’$validUntilFuture’/g’ > $folderMetadata$fileMetadata
elif [ $monthCurrent -lt 10 ]
then
monthFuture=$(($monthCurrent+3))
echo $monthFuture validUntilFuture=`echo $validUntil | sed ‘s/-‘$monthCurrent’-/-‘$monthFuture’-/g’`
cat $folderMetadata$oldFileMetadata | sed ‘s/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]. [0-9][0-9][0-9]Z/’$validUntilFuture’/g’ > $folderMetadata$fileMetadata
else
monthFuture=$(($monthCurrent-9))
yearFuture=$(($yearCurrent+1))
validUntilFuture=`echo $validUntil | sed ‘s/’$yearCurrent’-‘$monthCurrent’-/’$yearFuture’-0’$monthFuture’-/g’` cat $folderMetadata$oldFileMetadata | sed ‘s/[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]. [0-9][0-9][0-9]Z/’$validUntilFuture’/g’ > $folderMetadata$fileMetadata fi
A placer dans /opt/shibboleth-idp/bin/renew-metadata.sh avec pour utilisateur tomcat et groupe tomcat
chown -hR tomcat: /opt/shibboleth-idp/bin/renew-metadata.sh
J’ai rajouté un cron pour que le script soit exécuté tous les mois :
# more /etc/crontab
0 0 1 * * root /opt/shibboleth-idp/bin/renew-metadata.sh
Si ce rapide script vous a plu, vous retrouverez d’autre article en lien avec la fédération sur ma partie fédération. Je vous mets également la page de shibboleth pour configurer la tolérance des validUntil.