Accès par EZproxy
Cette page s’adresse aux bibliothèques et institutions qui donnent accès à une ressource ProxyNinja à travers leur EZproxy (hébergé par OCLC ou auto-hébergé), et aux éditeurs dont la ressource est atteinte par ce chemin.
EZproxy n’authentifie pas l’utilisateur auprès de ProxyNinja : il le fait sortir sur Internet avec l’adresse IP de l’institution. ProxyNinja reconnaît cette adresse, signe cette preuve, puis ouvre une session authentifiée sur la ressource. L’utilisateur n’a rien à saisir.
Le parcours
Section intitulée « Le parcours »- L’utilisateur clique sur le lien fourni par sa bibliothèque. Il s’authentifie sur son EZproxy (CAS, Shibboleth, mot de passe… selon l’institution).
- EZproxy charge la page d’atterrissage ProxyNinja de la ressource
(
https://landing.gar.ninja/<route>) et réécrit son hôte dans sa propre forme proxifiée, par exemplelanding-gar-ninja.mediatheque-exemple.idm.oclc.org. - La page d’atterrissage transmet à ProxyNinja l’adresse IP de sortie de l’institution (signée) et l’origine proxifiée sous laquelle elle s’exécute.
- ProxyNinja vérifie la signature, identifie l’institution par son adresse IP, puis ouvre la session sur la ressource.
- L’utilisateur arrive sur la ressource : par défaut sur son URL directe, ou, si l’institution l’a demandé, sur son URL proxifiée (voir plus bas).
Ce que l’institution configure
Section intitulée « Ce que l’institution configure »Le lien d’entrée
Section intitulée « Le lien d’entrée »Le lien à publier dans le portail de la bibliothèque est le lien EZproxy classique, dont la cible est la route ProxyNinja de la ressource :
https://login.<institution>.idm.oclc.org/login?url=https://landing.gar.ninja/<route><institution>.idm.oclc.org: le domaine EZproxy de l’institution chez OCLC. Pour un EZproxy auto-hébergé, remplacez par son hôte de connexion.<route>: le nom de route fourni par ProxyNinja pour la ressource (une route par ressource et par mode d’accès, par exempleediteur-ezproxy).
La stanza EZproxy
Section intitulée « La stanza EZproxy »EZproxy ne réécrit que les hôtes qu’il connaît. La stanza de la ressource doit
donc déclarer l’hôte de la ressource et la page d’atterrissage ProxyNinja,
avec HJ pour que les liens et les en-têtes Location soient réécrits :
Title Nom de la ressourceURL https://landing.gar.ninja/<route>HJ https://landing.gar.ninjaHJ landing.gar.ninjaHJ https://<hôte-de-la-ressource>HJ <hôte-de-la-ressource>Validez la stanza avec OCLC (ou votre administrateur EZproxy) : la forme exacte
des hôtes proxifiés et le traitement des tirets (HttpsHyphens /
NoHttpsHyphens) dépendent de la configuration de l’institution.
Ce qu’il faut communiquer à ProxyNinja
Section intitulée « Ce qu’il faut communiquer à ProxyNinja »Pour que ProxyNinja reconnaisse l’institution, transmettez à l’équipe ProxyNinja :
- l’adresse IP de sortie (ou la plage) de l’EZproxy, telle que vue depuis Internet ;
- le suffixe d’hôte de l’EZproxy, sans schéma ni chemin, par exemple
mediatheque-exemple.idm.oclc.org; - le mode d’encodage des hôtes proxifiés :
hyphens(les points de l’hôte d’origine deviennent des tirets, cas des EZproxy hébergés par OCLC) oudots(l’hôte d’origine est conservé tel quel devant le suffixe).
ProxyNinja enregistre ces éléments pour l’institution (règles d’adresses IP, suffixe et mode). Sans suffixe enregistré, l’accès fonctionne mais le retour vers la ressource se fait sur son URL directe.
Étape 0 : vérifier la forme des hôtes proxifiés
Section intitulée « Étape 0 : vérifier la forme des hôtes proxifiés »Avant d’activer le retour proxifié, demandez à la bibliothèque d’ouvrir, à travers l’EZproxy, l’URL directe de la ressource :
https://login.<institution>.idm.oclc.org/login?url=https://<hôte-de-la-ressource>/Notez l’hôte exact affiché par le navigateur. Deux points sont à vérifier :
- les points de l’hôte d’origine deviennent-ils des tirets
(
hote-ressource-fr.<institution>.idm.oclc.org) ou restent-ils des points ? - les tirets déjà présents dans l’hôte d’origine restent-ils simples ou sont-ils doublés ?
Puis naviguez dans la ressource sous cet hôte proxifié : les liens et les pages profondes doivent rester dans l’EZproxy. Si ce n’est pas le cas, le blocage se situe dans la stanza ou dans le site de la ressource, pas dans ProxyNinja.
Retour direct ou retour proxifié
Section intitulée « Retour direct ou retour proxifié »Par défaut, après l’authentification, ProxyNinja renvoie l’utilisateur sur
l’URL directe de la ressource (par exemple https://ressource.exemple.fr/).
L’utilisateur quitte alors le tunnel EZproxy : la session ProxyNinja est
ouverte, mais la navigation n’est plus proxifiée.
Le retour proxifié renvoie l’utilisateur sur la forme proxifiée de la même
URL, par exemple https://ressource-exemple-fr.mediatheque-exemple.idm.oclc.org/.
ProxyNinja ne réécrit l’URL de retour que si toutes ces conditions sont
réunies :
- la preuve d’adresse IP signée est vérifiée ;
- l’adresse IP correspond à une institution enregistrée ;
- la page d’atterrissage s’exécutait sous une origine
httpsproxifiée ; - le suffixe de cette origine est enregistré pour cette institution ;
- l’URL de retour configurée pour la ressource est une URL
httpsvalide.
Seuls l’hôte de l’URL de retour configurée et un suffixe enregistré servent à construire l’adresse proxifiée : aucune URL cible fournie par la requête n’est acceptée. Si une condition manque, le retour direct s’applique, sans erreur.
Ce que l’éditeur doit prévoir
Section intitulée « Ce que l’éditeur doit prévoir »Pour que la ressource fonctionne sous l’hôte proxifié :
- accepter l’échange de code OIDC lorsque le navigateur est sur le
redirect_uriproxifié (l’hôte de retour n’est plus l’hôte direct) ; - utiliser des liens relatifs après connexion, ou des liens compatibles avec EZproxy ; un lien absolu vers l’hôte direct fait sortir l’utilisateur du tunnel ;
- poser les cookies de façon compatible avec l’hôte proxifié.
Dépannage
Section intitulée « Dépannage »L’utilisateur arrive sur l’URL directe, non proxifiée. C’est le comportement par défaut. Vérifiez, dans l’ordre : que le suffixe de l’institution est enregistré et activé chez ProxyNinja ; que l’adresse IP de sortie de l’EZproxy figure dans les règles de l’institution ; que la page d’atterrissage est bien chargée à travers l’EZproxy (l’hôte affiché pendant la redirection doit être proxifié).
L’utilisateur est refusé (« adresse non reconnue »). L’adresse IP de sortie vue par ProxyNinja ne correspond à aucune institution : demandez à l’administrateur EZproxy l’adresse de sortie réelle et transmettez-la.
La ressource s’affiche mal ou renvoie vers un domaine étranger. La stanza ne réécrit pas tous les hôtes utilisés par la ressource, ou la ressource utilise des liens absolus. Revenez à l’étape 0.
La suite
Section intitulée « La suite »- Guide d’intégration pour la configuration de la ressource elle-même (OIDC, SAML2, CAS3, LTI 1.3).
- Parcours de bout en bout pour le détail de la session ProxyNinja et de la récupération des attributs.