SAML1POST="urn:oasis:names:tc:SAML:1.0:profiles:browser-post"
SAML1ART="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01"
-while getopts a:c:e:h:n:o:s:t:12ADLN c
+while getopts a:c:e:f:h:n:o:s:t:u:12ADLN c
do
case $c in
c) CERTS[${#CERTS[*]}]=$OPTARG;;
e) ENTITYID=$OPTARG;;
+ f) FORMATS=[${#FORMATS[*]}]=$OPTARG;;
h) HOSTS[${#HOSTS[*]}]=$OPTARG;;
n) NAKEDHOSTS[${#NAKEDHOSTS[*]}]=$OPTARG;;
o) ORGNAME=$OPTARG;;
a) ADMIN[${#ADMIN[*]}]=$OPTARG;;
s) SUP[${#SUP[*]}]=$OPTARG;;
t) TECH[${#TECH[*]}]=$OPTARG;;
+ u) URL=$OPTARG;;
1) SAML1=1;;
2) SAML2=1;;
A) ARTIFACT=1;;
done
if [ ${#HOSTS[*]} -eq 0 -a ${#NAKEDHOSTS[*]} -eq 0 ] ; then
- echo metagen -c cert1 [-c cert2 ...] -h host1 [-h host2 ...] [-e entityID]
+ echo metagen [-12ADLN] -c cert1 [-c cert2 ...] -h host1 [-h host2 ...] [-e entityID]
exit 1
fi
EOF
done
+for f in ${FORMATS[@]}
+do
+cat << EOF
+ <md:NameIDFormat>$f</md:NameIDFormat>
+EOF
+done
+
# Logout BEGIN
if [ $LOGOUT -eq 1 ] ; then
EOF
if [ -n "$ORGNAME" ] ; then
+ if [ -z "$URL" ] ; then
+ URL=$ENTITYID
+ fi
cat <<EOF
<md:Organization>
<md:OrganizationName xml:lang="en">$ORGNAME</md:OrganizationName>
<md:OrganizationDisplayName xml:lang="en">$ORGNAME</md:OrganizationDisplayName>
- <md:OrganizationURL xml:lang="en">$ENTITYID</md:OrganizationURL>
+ <md:OrganizationURL xml:lang="en">$URL</md:OrganizationURL>
</md:Organization>
EOF
fi