# cd /etc/yum.repos.d/Nato namestite Shibboleth z ukazom:
# vim shibboleth.repo
# v datoteko prilepimo in shranimo vsebino generirano na https://shibboleth.net/downloads/service-provider/RPMS/
# yum install shibbolethS tem boste na sistemu ustvarili naslednje mape oz. datoteke:
Arnes vzdržuje sledeče vire metapodatkov, glede na to v katero federacijo boste vključili vaš SP morate tudi izbrati, katere metapodatke boste uporabili. Posamezen SP je lahko vključen v več federacij in posledično mora osveževati več virov metapodatkov.
Metapodatki in certifikati s katerimi so le-ti podpisani, ki jih vzdržuje Arnes, so na vojo na naslednji povezavi: metapodatki.
Vir metapodatkov | SHA-1 Prstni odtis certifikata | ArnesAAI | eduGAIN | TestFed |
---|---|---|---|---|
https://ds.aai.arnes.si/metadata/arnesaai-edugain.signed.xml | 51:CC:76:0A:07:F1:A2:CC:01:98:68:F2:02:93:04:4E:AC:7C:08:22 | |||
https://ds.aai.arnes.si/metadata/aai.arnes.si.sha256.xml | 28:7B:9A:AA:FF:5A:6E:F1:02:AD:7D:BA:E3:3C:40:59:17:4F:1E:89 | |||
https://ds.aai.arnes.si/metadata/test-fed.arnes.si.signed.xml | 49:64:E4:3D:2C:5B:83:E1:D9:EB:35:90:23:67:A7:E0:0A:CD:6E:B9 |
Ob kliku na prijavo uporabnika preusmeri na DS. V nastavitvah izberite ustreznega, glede na to, katere metapodatke bo vaš SP osveževal, in v katero federacijo ga boste registrirali. Če želite, da zna vaš SP uporabljati več DS-jev si oglejte navodila za napredno vzpostavitev.
Naslov izbirnika domače organizacije | ArnesAAI | eduGAIN | TestFed |
---|---|---|---|
https://ds-edugain.aai.arnes.si/simplesaml/saml2/sp/idpdisco.php | |||
https://ds.aai.arnes.si/simplesaml/saml2/sp/idpdisco.php | |||
https://ds.test-fed.arnes.si/simplesaml/saml2/sp/idpdisco.php |
V spodnjih navodilih so vse nastavitve prilagojene pridružitvi ponudnika storitev v testno federacijo TestFed. Pri nastavljanju ustrezno popravite vir metapodatkov in naslov izbirnika domače organizacije na federacijo, kateri se želite pridružiti.
Naslednji korak: Navodila za nastavitev Shibboletha in vzpostavitev aplikacije# openssl genrsa -out /etc/shibboleth/sp-key.pem 4096 Generating RSA private key, 4096 bit long modulus ...........................................................................................................................++ ......................................................................++ e is 65537 (0x10001) # chmod 0440 /etc/shibboleth/sp-key.pem # chgrp shibd /etc/shibboleth/sp-key.pem # openssl req -new -sha1 -x509 -key /etc/shibboleth/sp-key.pem -out /etc/shibboleth/sp-cert.pem -set_serial 201401202359 -days 720 -subj "/C=SI/L=Novo Mesto/CN=Osnovna sola Janeza Novaka, ponudnik storitve XYZ" # openssl x509 -in sp-cert.pem -noout -text Certificate: Data: Version: 3 (0x2) Serial Number: 201401202359 (0x2ee47276b7) Signature Algorithm: sha1WithRSAEncryption Issuer: C=SI, L=Novo Mesto, CN=Osnovna sola Janeza Novaka, ponudnik storitve XYZ Validity Not Before: Jan 20 13:02:23 2014 GMT Not After : Jan 10 13:02:23 2016 GMT Subject: C=SI, L=Novo Mesto, CN=Osnovna sola Janeza Novaka, ponudnik storitve XYZ Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (4096 bit) Modulus: 00:d8:a9:8f:b9:42:f9:e2:d0:38:87:07:4d:ad:0f: b7:f5:d4:97:a1:5e:31:28:74:63:b8:47:a9:f6:c0: 5b:62:7b:20:12:f8:5b:1c:f7:22:f4:a8:be:9c:61: 85:50:a9:e2:07:a9:ff:bd:5a:04:3b:e5:2c:9f:d7: 27:ce:65:8f:23:c7:23:b3:18:09:da:3b:7b:35:ab: 57:1d:4d:f8:c9:1c:e3:d9:ac:e0:0e:a4:25:5a:3b: 80:cb:4a:a7:3f:e2:39:48:a7:61:3d:46:95:5f:87: 71:b4:cc:5a:95:81:89:da:27:a9:9a:a6:2c:ec:9f: f5:0a:f1:b3:64:6a:a4:9c:c4:78:b7:03:fe:cf:99: 17:c7:13:ca:54:f6:ca:b0:65:cc:29:d2:66:c2:95: fe:65:7e:71:92:5c:be:0a:4e:d7:d2:46:b1:6a:09: 83:8f:a5:06:6e:31:a0:f4:a9:99:98:41:49:87:9b: 0d:5d:cf:10:6b:7e:8d:a2:ca:79:e7:e1:f5:60:90: 2b:21:92:fe:74:87:78:eb:8c:b0:dd:4d:30:d0:c9: 01:82:a5:ef:32:be:85:0f:61:83:68:94:8d:5d:25: 98:52:b8:46:cd:cc:64:4a:91:53:dd:15:38:7a:bb: e7:16:30:e4:63:1f:ed:00:e0:7b:39:23:1f:56:e7: 43:83:ee:a2:6c:1e:b5:a9:9f:25:af:de:27:68:ba: 67:4a:42:56:29:00:1a:1d:d7:f5:3b:72:95:76:cc: c0:78:28:c0:65:ff:df:a8:d5:5e:4a:31:4c:07:7d: 0a:6d:e6:42:c4:5e:cd:e5:ca:4a:0b:a1:62:b6:b4: cf:b5:9e:bb:c6:50:1b:5d:df:85:cb:37:7b:f0:00: a8:a2:90:95:10:f8:84:98:9d:b5:0a:23:23:6a:9b: 4d:b9:51:a3:29:8e:b0:2a:bf:e1:41:ee:c0:72:b9: b9:26:53:42:d6:29:f5:cb:03:04:a2:4c:bb:75:eb: 06:97:6e:4b:f4:3f:4a:c0:fe:f9:e3:25:7b:d7:5d: af:22:fc:5a:b1:82:de:12:eb:74:8a:6d:4e:c3:c7: 72:fb:ed:05:30:65:5a:ea:38:ae:a4:e8:c8:50:48: c4:3f:21:18:03:3b:cd:ef:59:57:bf:7e:8b:d9:82: da:c1:53:51:25:c6:59:72:b6:36:70:fb:4e:3e:2d: 36:e2:75:1b:0c:b3:58:b7:a7:04:f5:cb:a4:3c:3d: 3f:cd:f8:7b:7d:4b:f1:0d:b8:c7:48:26:d7:72:d4: c7:68:2c:89:3d:c5:98:d1:59:64:71:b3:ad:33:62: c6:a8:01:95:a7:ed:f0:05:d7:ef:04:11:fd:56:9a: 0a:31:55 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: 7E:6D:84:18:47:71:C4:78:A0:0C:8B:6A:42:B0:86:0C:B2:D3:7A:70 X509v3 Authority Key Identifier: keyid:7E:6D:84:18:47:71:C4:78:A0:0C:8B:6A:42:B0:86:0C:B2:D3:7A:70 X509v3 Basic Constraints: CA:TRUE Signature Algorithm: sha1WithRSAEncryption c7:ca:44:50:ed:ed:3a:a0:05:e2:8b:dd:ee:19:90:43:df:f0: 62:90:54:95:39:a3:f9:c4:67:b4:93:33:e3:3f:9f:2c:4c:f2: 09:2a:3f:4c:26:7e:f4:1b:70:23:3a:08:00:12:28:15:fb:5c: d3:b6:40:a6:9c:33:91:45:92:b4:d6:d3:19:97:37:ef:ef:82: 6c:41:ff:4a:94:3b:f2:02:82:54:de:17:82:b0:fb:c5:1a:3a: cb:c7:cb:b8:0e:cf:76:34:2a:88:21:e1:00:54:d4:6b:44:8a: c4:af:82:ad:38:d1:c8:1d:0b:e4:b9:bb:f3:cc:a0:0a:05:52: 6b:aa:95:a5:af:92:b1:66:b4:cc:64:7f:fa:72:25:82:fd:71: 02:4c:f5:a7:5a:ed:e0:0a:c4:10:b0:03:6b:3d:ad:3d:09:db: cf:36:fa:05:ed:1c:b0:29:59:42:94:80:41:b5:e5:58:1a:cb: f2:6a:9b:07:e9:0b:38:94:ce:e5:78:6d:b9:ad:51:94:71:0b: d9:e1:2d:27:99:60:49:a9:5d:58:8d:d1:13:1f:b0:84:dd:50: ca:af:bd:84:3b:c9:4e:c8:87:dc:82:e5:52:fb:10:2b:c8:71: 83:05:d8:ee:83:81:ec:ec:a7:6b:95:d4:78:6e:37:94:21:23: bb:33:48:a4:62:16:8f:20:4f:d9:82:dd:c8:17:13:29:bb:5b: 9a:9f:dd:c8:8c:13:6a:bf:7c:59:91:83:a8:c5:2c:2a:7a:60: 59:ee:69:46:6b:3f:bd:c8:ab:21:a8:ec:f7:09:3f:8b:cd:60: 0d:d6:a2:04:c0:de:d8:37:c5:c2:4d:2d:c7:2e:36:3a:df:8e: 8e:44:78:86:99:09:64:87:48:0a:75:e6:91:f4:31:c8:3f:df: 85:cc:94:b7:f2:07:f3:fc:b4:e2:de:e4:a3:a3:a3:cf:42:e9: 36:54:9b:cc:69:b2:c2:b7:0a:03:c8:1d:cc:c2:c8:42:cd:44: 54:0c:26:a7:11:7c:9f:2f:9a:0d:f7:44:9c:46:bb:6c:75:e3: 16:59:60:ac:c6:01:cb:b9:ff:51:d7:1c:6c:2e:37:e1:5d:f2: 99:9f:b4:dc:7e:f4:94:4f:60:42:e0:a7:88:73:6a:bc:88:de: 53:39:e3:45:20:2e:93:04:4b:c1:90:f5:fc:98:4a:36:34:02: ab:83:5a:31:05:0d:b9:1b:7d:24:d7:6b:83:12:91:61:07:72: d7:8e:61:f6:32:17:63:6f:84:ae:d7:a4:60:90:ba:54:5b:79: 22:cb:5a:e3:cc:ed:09:3e:75:5e:67:68:98:8e:e0:29:56:34: 27:a5:b0:db:48:71:45:91 # ll /etc/shibboleth/sp-* -rw-r--r-- 1 root root 1968 Jan 20 14:20 /etc/shibboleth/sp-cert.pem -r--r----- 1 root shibd 3243 Jan 20 13:30 /etc/shibboleth/sp-key.pem
/bin/cp /etc/shibboleth/shibboleth2.xml.dist /etc/shibboleth/shibboleth2.xmlPopravimo EntityID:
<ApplicationDefaults entityID="https://www.os-prva.si/sp/201401202359" REMOTE_USER="eppn persistent-id targeted-id">Za podporo globalnega izpisa iz aplikacij in zaključek seje enotne prijave na domačem strežniku IdP moramo urediti razdelek Sessions. Če imate pri prijavi oziroma odjavi težave s preusmerjanjem, preučite in implementirajte eno od možnosti, ki so na voljo za parameter
redirectLimit
.
<Sessions lifetime="28800" timeout="3600" relayState="cookie" checkAddress="false" handlerSSL="false" cookieProps="http" redirectLimit="exact">Nastavimo kje je federacijski DS/WAYF. Za produkcijski SP uporabimo discovery URL https://ds.aai.arnes.si/simplesaml/saml2/sp/idpdisco.php. Za delovanje brez DS in samo enim IdP nastavimo entityID="https://idp.os-prva.si/idp/201401212359"
<SSO discoveryProtocol="SAMLDS" discoveryURL="https://ds.test-fed.arnes.si/simplesaml/saml2/sp/idpdisco.php"> SAML2 </SSO>Popravimo kontaktne informacije:
<Errors supportContact="tooth.fairy@arnes.si" helpLocation="/about.html" styleSheet="/shibboleth-sp/main.css"/>Nastavimo lokacijo metapodatkov federacije. Za produkcijo uporabite URL https://ds.aai.arnes.si/metadata/aai.arnes.si.sha256.xml in certifikat https://ds.aai.arnes.si/metadata/arnesaai-metadata-signing.crt
<MetadataProvider type="XML" url="https://ds.test-fed.arnes.si/metadata/test-fed.arnes.si.signed.xml" backingFilePath="federation-metadata.xml" reloadInterval="7200"> <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/> <MetadataFilter type="Signature" certificate="test-fed.arnes.si.crt"/> </MetadataProvider>Vklopimo tudi lokalno nastavljene metapodatke.
<MetadataProvider type="XML" file="partner-metadata.xml"/>
Metapodatke izberite glede na to, v katero federacijo se želite vključiti.
Test-fed partner-metadata.xml (v mapi /etc/shibboleth/) - datoteka z metapodatki federacije
Datoteko in certifikat prenesete s spletnih strani federacije:curl https://ds.test-fed.arnes.si/metadata/test-fed.arnes.si.signed.xml -o /etc/shibboleth/partner-metadata.xml curl https://ds.test-fed.arnes.si/metadata/test-fed.arnes.si.crt -o /etc/shibboleth/test-fed.arnes.si.crt
attribute-map.xml (v mapi /etc/shibboleth/) - datoteka z definicijami preslikav atributov
Odstranite obstoječo datoteko, ustvarite novo, ter ji dodajte definicije
rm /etc/shibboleth/attribute-map.xml touch /etc/shibboleth/attribute-map.xml
<Attributes xmlns="urn:mace:shibboleth:2.0:attribute-map" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- User interface display and contact --> <Attribute name="urn:oid:2.16.840.1.113730.3.1.241" id="displayName"/> <Attribute name="displayName" id="displayName"/> <Attribute name="urn:oid:2.5.4.3" id="cn"/> <Attribute name="cn" id="cn"/> <Attribute name="urn:oid:0.9.2342.19200300.100.1.3" id="mail"/> <Attribute name="mail" id="mail"/> <Attribute name="sn" id="sn"/> <Attribute name="givenName" id="givenName"/> <!-- User role affiliations and entitlements --> <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.1" id="eduPersonAffiliation"/> <Attribute name="eduPersonAffiliation" id="eduPersonAffiliation"/> <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.5" id="eduPersonPrimaryAffiliation"/> <Attribute name="eduPersonPrimaryAffiliation" id="eduPersonPrimaryAffiliation"/> <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" id="eduPersonScopedAffiliation"/> <Attribute name="eduPersonScopedAffiliation" id="eduPersonScopedAffiliation"/> <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7" id="eduPersonEntitlement"/> <Attribute name="eduPersonEntitlement" id="eduPersonEntitlement"/> <!-- Unique identifiers --> <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" id="eduPersonPrincipalName"> <AttributeDecoder xsi:type="ScopedAttributeDecoder"/> </Attribute> <Attribute name="eduPersonPrincipalName" id="eduPersonPrincipalName"> <AttributeDecoder xsi:type="ScopedAttributeDecoder"/> </Attribute> <Attribute name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" id="eduPersonTargetedID"/> <Attribute name="eduPersonTargetedID" id="eduPersonTargetedID"/> <Attribute name="schacUUID" id="schacUUID"/> <!-- Organization information --> <Attribute name="urn:oid:1.3.6.1.4.1.25178.1.2.9" id="schacHomeOrganization"/> <Attribute name="schacHomeOrganization" id="schacHomeOrganization"/> <Attribute name="urn:oid:1.3.6.1.4.1.25178.1.2.10" id="schacHomeOrganizationType"/> <Attribute name="schacHomeOrganizationType" id="schacHomeOrganizationType"/> <!--Account expiry information --> <Attribute name="urn:oid:1.3.6.1.4.1.1466.115.121.1.24" id="schacExpiryDate"/> <Attribute name="schacExpiryDate" id="schacExpiryDate"/> </Attributes>
Domenski del uporabniškega imena lahko Shibboleth samodejno preverja glede na registrirane parametre v metapodatkih. S tem se zagotovi, da s ponudnika identitet prihajajo le uporabniki za katere je skrbnik registriral scope v federacijo. Atribut v metapodatkih, ki to določa je: <shibmd:Scope regexp="false">primer.si</shibmd:Scope>.
V datoteki /etc/shibboleth/attribute-map.xml omogočimo izvoz domenskega dela uporabniškega imena za validiranje glede na organizacijski Scope. Spodnji izsek kode je že vstavljen v vzorčno datoteko zgoraj.
<AttributeDecoder xsi:type="ScopedAttributeDecoder"/>V datoteki /etc/shibboleth/attribute-policy.xml omogočimo filter, ki preveri atribut Scope in prejet domenski del uporabniškega imena ter ga ustrezno filtrira:
<afp:AttributeRule attributeID="eduPersonPrincipalName"> <afp:PermitValueRuleReference ref="ScopingRules"/> </afp:AttributeRule> <afp:AttributeRule attributeID="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"> <afp:PermitValueRuleReference ref="ScopingRules"/> </afp:AttributeRule>V primeru, da se parameter Scope in domenski del uporabniškega imena ne ujemata se storitvi posreduje prazen atribut. V kolikor zaznate prazen atribut eduPersonPrincipalName oz. urn:oid:1.3.6.1.4.1.5923.1.1.1.6 (ostali pa so vpisani) je verjetno prišlo do opisane izjeme. Če ponudnik identitet nima registiranega atributa Scope bodo filtrirane vse prijave.
Posamezne poglede v aplikaciji lahko zaščitimo z uporabo Shibboletha. Posamezno lokacijo zaščitimo znotraj direktive location.
<VirtualHost *:443> ServerName www.os-prva.si ServerAdmin admin@primer.si DocumentRoot /var/www/html/moodle # Certificate settings SSLEngine on SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key # Shibboleth settings <Location /> ShibRedirectToSSL 443 AuthType Shibboleth Require Shibboleth </Location> #Ščitenje prijavnega URL-ja s Shibbolethom <Location /avtentikacija/prijava/aai_prijava.php > AuthType Shibboleth ShibRequireSession On require valid-user ShibRedirectToSSL 443 </Location> </VirtualHost>Naslednji korak: Registracija v ArnesAAI in eduGAIN
Storitev registrirate z uporabo spletnega vmesnika.
Na pregledu vaše E-Identitete poiščite organizacijo, ki jo želite upravljati.
V meniju lahko najdete razdelek "Registracija storitev".
Izpolniti morate sledeče podatke:
Po uspešni vzpostavitvi in registraciji storitve je potrebno preizkusiti delovanje in preveriti pravilnost delovanja.
Kratica SSO (angl. Single Sign On) pomeni, da se aplikacija zaveda prijavljenega uporabnika ter ga avtomatično prijavi v kolikor je le-ta prijavljen v sistem enotne prijave. Kratica SLO (angl. Single Log Out) pa pomeni, da aplikacija, tako kot enotno prijavo, omogoča tudi enotno odjavo. Zaradi varnostnih razlogov se delovanja enotne odjave ne sme zanemariti!
Enotno prijavo preizkusimo po naslednjih korakih:
Za delovanje večih aplikacij, je potrebno najprej nastaviti RequestMapper, ki ob zahtevi izbere, na kateri ApplicationOverride bo zahtevo poslal.
<RequestMapper type="Native"> <RequestMap applicationId="default"/> <RequestMap applicationId="aplikacija1.primer.si"> <Host name="aplikacija1.primer.si" applicationId="aplikacija1.primer.si" /> </RequestMap> <RequestMap applicationId="aplikacija.primer.si"> <Host name="aplikacija.primer.si" applicationId="aplikacija.primer.si" /> </RequestMap> </RequestMapper>
ApplicationOverride omogoča nastavitev posebnih nastavitev za posamezno aplikacijo, ki smo jo v RequestMapu določili. Na voljo so enaki nastavitveni atributi, kot v ApplicationDefaults. ApplicationOverride-i se morajo v nastavitveni datoteki nahajati znotraj ApplicationDefaults.
Posamezna aplikacija mora imeti svoj entityID, certifikat, prav tako lahko ob prijavi preusmeri na različen Discovery service in osvežuje drugačne federativne metapodatke. V primeru, da specifičnih nastavitev nima, se podedujejo tiste iz ApplicationDefaults.
<ApplicationDefaults> ... <ApplicationOverride id="aplikacija.primer.si" entityID="https://aplikacija.primer.si/sp/20140707" REMOTE_USER="eppn persistent-id targeted-id"> <CredentialResolver type="File" key="aplikacija.primer.si.key.pem" certificate="aplikacija.primer.sicert.pem"/> </ApplicationOverride> ... <ApplicationDefaults>
<VirtualHost *:443> ServerName aplikacija.primer.si ServerAdmin helpdesk@arnes.si DocumentRoot /var/www/html/moodle # Certificate settings SSLEngine on SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key # Shibboleth settings <Location /> ShibRequestSetting applicationId aplikacija.primer.si ShibRedirectToSSL 443 AuthType Shibboleth Require Shibboleth </Location> <Location /prijava/aai/ > ShibRequestSetting applicationId aplikacija.primer.si AuthType Shibboleth ShibRequireSession On require valid-user ShibRedirectToSSL 443 </Location> </VirtualHost>
Metapodatke pridobimo tako, da brskalnik usmerimo na domeno ali poddomeno, na kateri teče aplikacija.
https://aai.arnes.si/Shibboleth.sso/Metadata
Navodila so narejena na primeru testa, ki preverja delovanje IdP-jev v ArnesAAI in interfederaciji eduGAIN, ki teče na spletni strani https://aai.arnes.si.
Za delovanje večih aplikacij, je potrebno najprej nastaviti RequestMapper, ki ob zahtevi izbere, na kateri ApplicationOverride bo zahtevo poslal.
Spodaj je prikazana nastavitev mapov za ArnesAAI spletno stran.
<RequestMapper type="Native"> <RequestMap applicationId="default"> <Host name="aai.arnes.si" authType="shibboleth" requireSession="true"> <Path name="default" applicationId="default"/> </Host> </RequestMap> <RequestMap applicationId="eduGAIN-test"> <Host name="aai.arnes.si" authType="shibboleth" requireSession="true"> <Path name="eduGAIN-test" applicationId="eduGAIN-test"/> </Host> </RequestMap> <RequestMap applicationId="ArnesAAI-test"> <Host name="aai.arnes.si" authType="shibboleth" requireSession="true"> <Path name="ArnesAAI-test" applicationId="ArnesAAI-test"/> </Host> </RequestMap> </RequestMapper>
ApplicationOverride omogoča nastavitev posebnih nastavitev za posamezno aplikacijo, ki smo jo v RequestMapu določili. Na voljo so enaki nastavitveni atributi, kot v ApplicationDefaults. ApplicationOverride-i se morajo v nastavitveni datoteki nahajati znotraj ApplicationDefaults.
Posamezna aplikacija mora imeti svoj entityID, certifikat, prav tako lahko ob prijavi preusmeri na različen Discovery service in osvežuje drugačne federativne metapodatke. V primeru, da specifičnih nastavitev nima, se podedujejo tiste iz ApplicationDefaults.
<ApplicationDefaults> ... <ApplicationOverride id="eduGAIN-test" entityID="https://aai.arnes.si/test/edugain" REMOTE_USER="eppn persistent-id targeted-id"> <Sessions lifetime="28800" timeout="3600" checkAddress="false" handlerURL="/test/edugain/Shibboleth.sso" handlerSSL="false"/> <CredentialResolver type="File" key="eduGAIN-test.key.pem" certificate="eduGAIN-test.cert.pem"/> <AttributeExtractor type="XML" validate="true" reloadChanges="false" path="attribute-map-eduGAIN.xml"/> <MetadataProvider type="XML" url="https://ds.aai.arnes.si/metadata/arnesaai-edugain.signed.xml" backingFilePath="eduGAIN-metadata.xml" reloadInterval="7200"> <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/> <MetadataFilter type="Signature" certificate="arnesaai-edugain-sign.crt"/> </MetadataProvider> </ApplicationOverride> ... <ApplicationDefaults>
<VirtualHost *:443> ... #Običajna prijava v spletno stran <Location /SSO> AuthType shibboleth ShibRequireSession Off ShibUseHeaders On ShibRedirectToSSL 443 ShibRequestSetting applicationId default </Location> <Location /Shibboleth.sso> SetHandler shib ShibRequestSetting applicationId default </Location> ... #Test eduGAIN <Location /test/edugain> ShibRequestSetting applicationId eduGAIN-test AuthType shibboleth ShibRequireSession On #ShibUseEnvironment On ShibUseHeaders On Require valid-user </Location> <Location /test/edugain/Shibboleth.sso> SetHandler shib ShibRequestSetting applicationId eduGAIN-test </Location> ... </VirtualHost>
Metapodatke pridobimo tako, da brskalnik usmerimo na domeno ali poddomeno, na kateri teče aplikacija, ki mu dodamo specifični URL za posamezno aplikacijo, ki ima drugačne nastavitve. Primer prikazuje pridobitev metapodatkov za aplikacijo z ID-jem eduGAIN-test.
https://aai.arnes.si/test/edugain/Shibboleth.sso/Metadata