Pour l'instant la seule solution que j'ai trouvé est d'enlever le port
TCP dans le servername du site virtuel (champ
jahia_sites.servername_jahia_sites dans la base de données)
Donc sgc-test.in.ac-rennes.fr au lieu de sgc-test.in.ac-rennes.fr:8181
Je ne sais pas si cela peut provoquer un effet de bord ou si c'est mieux.
-- Arnaud
Arnaud RUPIN a écrit :
Bonjour
J'ai un problème d'authentification CAS.
J'utilise la valve org.jahia.params.valves.CasAuthValveImpl dans
/etc/config/auth-pipeline.xml
J'accède à mon site Jahia via un port exotique :
http://sgc-test.in.ac-rennes.fr:8181/jahia/Jahia
Dans /etc/cas/cas.properties on trouve 3 paramètres :
cas.jahia.serviceUrl
cas.server.validateUrl
cas.server.loginUrl
D'après les sources, cas.jahia.serviceUrl n'est pas utilisé mais créé
dynamiquement par org.jahia.params.valves.CasAuthValveImpl.getServiceUrl()
J'ai activé les logs de DEBUG et je m'aperçois dans les logs que le
serviceURL est mal généré (il y a doublement du port) ce qui rend
impossible l'authentification car le ServiceTicket est toujours rejeté.
2731659 [2006-03-27 12:02:43,637] [org.jahia.params.ParamBean] DEBUG -
buildCustomParameters: null
2731660 [2006-03-27 12:02:43,638] [org.jahia.params.ParamBean] DEBUG -
pathInfo: /site/toutatice
2731661 [2006-03-27 12:02:43,639] [org.jahia.params.ParamBean] DEBUG -
Full URL: /jahia/Jahia/site/toutatice, ticket=ST-43877-DujCuScJjHHr9jal8PLv
2731661 [2006-03-27 12:02:43,639] [org.jahia.params.ParamBean] DEBUG -
Found site info in parameters...
2731662 [2006-03-27 12:02:43,640] [org.jahia.services.sso.CasService]
DEBUG - cas.server.validateUrl =
https://auth.toutatice.fr/cas/serviceValidate
2731663 [2006-03-27 12:02:43,641] [org.jahia.services.sso.CasService]
DEBUG - cas.jahia.serviceUrl =
http://sgc-test.in.ac-rennes.fr:8181:8181/jahia/Jahia
org.jahia.exceptions.JahiaException: User message=Cannot validate CAS
credentials, System message=Cannot validate CAS credentials, root
cause:error #INVALID_SERVICE while validating ticket
'ST-43877-DujCuScJjHHr9jal8PLv': ticket 'ST-43877-DujCuScJjHHr9jal8PLv'
does not match supplied service root
cause=edu.yale.its.tp.cas.client.CASAuthenticationException: error
#INVALID_SERVICE while validating ticket
'ST-43877-DujCuScJjHHr9jal8PLv': ticket 'ST-43877-DujCuScJjHHr9jal8PLv'
does not match supplied service
at
org.jahia.params.valves.CasAuthValveImpl.validateCredentials(CasAuthValveImpl.java:62)
Comment puis-je contourner ou résoudre ce problème de doublement de port ?
Merci
-- Arnaud