| Avertissement |
|---|
Au 17 juillet 2023, cette page est en construction, la compatibilité esup-otp-cas avec CAS 6.6.x étant à reprendre. |
Contexte
Eté 2023, l'Université de Rouen Normandie a procédé à une montée de version de son service d'authentification CAS en 6.6.9
...
Pour esup-otp, dans /etc/cas/config/esupotp.properties, suppression de esupotp.byPassServicesIfNoEsupOtpMethodIsActive
OpenIdConnect
Configuration OpenIdConnect sur CAS
Ajout de la configuration suivante dans /etc/cas/config/cas.properties :
...
Lors du lancement, on prend en compte les messages du type "The generated key MUST be added to CAS settings" pour compléter la configuration openid.
Un service pourra alors être déclaré de cette façon :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
cat /etc/cas/services/test_oidc-1000.json
{
"@class" : "org.apereo.cas.services.OidcRegisteredService",
"clientId": "clientoidctestaconfigurercoteclient",
"clientSecret": "monsecretaconfigurercoteclient,
"serviceId" : "https://test-oidc.univ-rouen.fr/secureoidc/redirect_uri",
"name": "OIDC",
"id": 1000,
}
|
Client OpenIdConnect avec Apache2 et mod_auth_openidc
Comment conseillé par les collègues de l'AMU (cf leur présentation à Esup-Days 26) nous avons validé le bon fonctionnement de CAS en tant que provider openidconnect via l'utilisation d'un apache avec mod_auth_openidc.
Ainsi le serveur derrière https://test-oidc.univ-rouen.fr pourra avoir pour configuration Apache :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
ScriptAlias /secureoidc /var/www/printenv.pl
OIDCProviderMetadataURL https://cas.univ-rouen.fr/oidc/.well-known/openid-configuration
OIDCClientID clientoidctestaconfigurercoteclient
OIDCClientSecret monsecretaconfigurercoteclient
OIDCRemoteUserClaim sub
OIDCScope "openid email profile"
OIDCRedirectURI https://test-oidc.univ-rouen.fr/secureoidc/redirect_uri
#LogLevel info auth_openidc:debug
OIDCCryptoPassphrase ppassQuelconquePourChiffrementInterne
<Location /secureoidc>
AuthType openid-connect
Require valid-user
</Location> |
/var/www/printenv.pl étant le "traditionnel" script utilisé notamment dans les configurations shibboleth et donnant simplement les entêtes HTTP
On y voit alors le REMOTE_USER de positionné, mais aussi des OIDC_CLAIM_* dont OIDC_CLAIM_attributes regroupant l'ensemble des attributs renvoyés (sous forme de json).