Finnaan on lisätty tuki EZproxy-kirjautumiselle käyttäen EZproxyn ticket-autentikaatiota. Käytännössä tämä tarkoittaa sitä, että Finna-näkymän local/config/vufind/config.ini:in EZproxy-sektioon lisätään salasana, ja sama salasana lisätään EZproxyn user.txt-tiedostoon (vanhemmilla EZproxy-versioilla ezproxy.usr). Salasanaa käyttäen luodaan Finnassa hash, jonka EZproxy tarkistaa.

EZproxyyn kirjauduttaessa Finnassa tarkistetaan, että käyttäjän kirjautumistapa on auktorisoiva (yliopistokirjastoissa tyypillisesti vain Shibboleth, yleisissä kirjastoissa kirjastokortti). Jos ei ole, näytetään käyttäjälle viesti, jossa kehotetaan kirjautumaan ensin ulos ja käyttämään sitten eri kirjautumistapaa.

Finnan asetukset

Seuraavassa esimerkissä käytetään kuvitteellista tyamk-organisaatiota ja EZproxyä, jonka kuvitellaan löytyvän osoitteesta https://ezproxy.tyamk-organisaatio.fi/.

local/config/vufind/config.ini:

[EZproxy]
host = "https://ezproxy.tyamk-organisaatio.fi/"
secret = "hyvinsalainenteksti"

EZproxyn user.txt:

::CGI=https://tyamk.finna.fi/ExternalAuth/EzproxyLogin?url=^R 
::Ticket
TimeValid 10
SHA512 hyvinsalainenteksti
Expired; Deny expired.html
/Ticket

Ensimmäinen rivi määrittää Finnan osoitteen, johon EZproxy ohjaa käyttäjän kirjautumaan, ja seuraavat rivit ticket-autentikaation asetukset. TimeValid kertoo, miten pitkään Finnan luoma tiketti kelpaa kirjautumiseen. Tässä esimerkissä aika on 10 minuuttia, jonka pitäisi riittää kaikissa tilanteissa.

Oletuksena Finna käyttää SHA512-algoritmia, joka edellyttää vähintään EZproxyn versiota 6.1, mutta tarvittaessa Finnan asetuksissa voidaan määritellä jokin muukin algoritmi secret_hash_method-asetuksella, esim.

[EZproxy]
host = "https://ezproxy.tyamk-organisaatio.fi/"
secret = "hyvinsalainenteksti"
secret_hash_method = "SHA1"

Tällöin myös EZproxyn user.txt:hen pitää laittaa SHA512:n tilalle SHA1.

Jotta kirjautuminen EZproxyyn onnistuu, täytyy käytetyllä kirjautumistavalla saada Finnassa finna.authorized-käyttöoikeus. Jos oletusasetukset on yliajettu permissions.ini:ssä (override_full_sections-kohdassa finna.authorized), pitää sinne lisätä kirjautumistavat, jotka antavat käyttöoikeuden tähän tapaan (tätä ei pidä tehdä, jos oletusasetuksia ei ole yliajettu):

[finna.authorized]
require = "ANY"
ipRange[] = "x.y.z.a-x.y.z.b"
permission = "finna.authorized"
authenticationStrategy[] = Shibboleth

 

Tarkista mahdolliset ongelmat EZproxyn messages.txt:stä ja audit-lokeista, jos kirjautuminen ei onnistu.

  • No labels