1.5.1 Authentifizierungs-Provider

Für die Anmeldung stehen verschiedene Provider zur Verfügung. Diese werden in einer Liste unter <authenticationProviders> konfiguriert:

config_viewer.xml
config_viewer.xml
<user>
<authenticationProviders>
<provider type="local" show="true" name="Goobi viewer"/>
<provider type="openId" show="true" name="Google" endpoint="https://accounts.google.com/o/oauth2/auth" clientId="CHANGEME" clientSecret="CHANGEME" image="google.png" />
<provider type="userPassword" show="false" name="VuFind" endpoint="https://vufind.example.org/Api/User/Auth" image="vufind.png" timeout="7000"/>
<provider type="userPassword" show="false" name="littera" endpoint="https://littera.example.org/externauth" image="littera.png"/>
<provider type="userPassword" label="Aleph" show="false" name="x-service" endpoint="https://aleph-x-service.example.org/X?op=bor_auth&amp;library=FOO123" image="aleph.png">
<addUserToGroup>my first group</addUserToGroup>
<addUserToGroup>my secondgroup</addUserToGroup>
</provider>
<provider type="userPassword" show="false" name="bibliotheca" endpoint="https://example.oclcbibliotheca.org/auth.asp?client=goobiviewer" />
<provider type="saml" show="false" name="samltest.id" idpMetadataUrl="https://samltest.id/saml/" relyingPartyIdentifier="GoobiViewerExampleTest" publicKeyPath="/opt/digiverso/viewer/config/samlX509cert.cert" privateKeyPath="/opt/digiverso/viewer/config/samlPrivatekey" timeout="60000" />
</authenticationProviders>
</user>

Die Attribute im <provider> Elemente haben folgende Bedeutung:

Attribut

Beschreibung

type

Definiert den Provider-Typ. Diese Angabe ist pflicht. Verfügbar sind local, openId, userPassword und saml.

show

Gibt an, ob der Provider auf der Anmeldeseite angezeigt werden soll oder ausgeblendet ist. Standardwert ist true

name

Name des Providers. Diese Angabe ist pflicht. Bei dem type="openId" steht als Name Google zur Verfügung. Bei dem type="userPassword" kann zwischenVuFind, littera, x-service und bibliotheca gewählt werden. Bei type="local" und type="saml" kann ein freier Name gewählt werden.

label

Optionales Label für den Provider. Ist das Attribut nicht vorhanden wird der Name ausgegeben.

endpoint

Authentifizierungs-URL des Providers. Pflichtfeld bei den Typen openId und userPassword. Beispiele bitte der Standard Konfigurationsdatei entnehmen.

clientId

Registrierte ID des Goobi viewers beim Provider vom Typ openId. Dort ist das Attribut auch verpflichtend. Pro Goobi viewer Installation muss ein neuer Client beim Provider registriert werden.

clientSecret

Geheimer Schlüssel für die registrierte clientId. Die Angabe ist bei einem Provider vom Typ openId verpflichtend.

image

Dateiname des angezeigten Provider-spezifischen Bildes

timeout

Definiert in Millisekunden den maximalen Zeitraum wie lange auf eine Antwort vom Server gewartet werden soll, bevor die Anmeldung fehlschlägt.

idpMetadataUrl

URL an der die Metadaten des Identity Providers abrufbar sind. Die Angabe ist bei dem Provider vom Typ saml verpflichtend.

relyingPartyIdentifier

Name des Goobi viewer Services. Dieser Name muss mit der entityID in den Metadaten, die dem Identity Provider übermittelt werden, übereinstimmen. Die Angabe ist bei dem Provider vom Typ saml verpflichtend.

publicKeyPath

Pfad zu dem öffentlichen X509 Zertifikat. Die Angabe ist bei dem Provider vom Typ saml verpflichtend.

privateKeyPath

Pfad zu dem privaten Key für das Zertifikat. Die Angabe ist bei dem Provider vom Typ saml verpflichtend.

Über optionale Unterelemente <addUserToGroup> können Namen von Benutzergruppen konfiguriert werden, zu denen ein Benutzer beim Einloggen automatisch als Mitglied hinzugefügt werden soll (vorausgesetzt die Gruppe existiert bereits und der Benutzer ist dort nicht bereits Mitglied.