Skip to content

CAS server which delegates to another CAS server the password check + asks for OTP using esup-otp-api

License

Notifications You must be signed in to change notification settings

EsupPortail/esup-otp-cas-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

esup-otp-cas-server

CAS server which delegates to another CAS server the password check + asks for OTP

Features

  • asks for OTP long-term validation (stored in a cookie)
  • it can conditionally bypass OTP if the user has not activated any methods
  • handle CAS gateway, proxy tickets CAS, CAS SLO back-channel
  • handle other CAS server logout (via SLO)
  • handle other CAS server session timeout (via shorter session lifetime)

Features not yet implemented

  • conditionally limit the allowed methods ==> it can be done into esup-otp-manager

Drawbacks of esup-otp-cas-server compared to using Apereo CAS MFA (esup-otp-cas)

  • each application decides wether it wants MFA or not => you need to watch the logs to know which applications use MFA
  • when switching to this CAS in application conf, some users may still force the other CAS, resulting in "unknown ticket" errors. Workaround: redirect to the good CAS:
  <LocationMatch "/cas/login(;.*)?">
    Header edit Location "^https://foo[.]univ[.]fr/.*" "https://foo.univ.fr/"

Avantages of esup-otp-cas-server compared to using Apereo CAS MFA (esup-otp-cas)

  • Apereo CAS often breaks MFA API, esup-otp-cas needs to be updated for most new Apereo CAS versions
  • should work with other CAS servers (Keycloak, LemonLDAP::NG, Shibboleth IDP...)
  • no_otp.if_not_activated_for_user_and can NOT be implemented in Apereo CAS module esup-otp-cas: it must be done earlier in cas.authn.mfa.groovy-script.location (and then you must find a way to known if user has activated OTP, example)
  • simple cookie OTP rememberMe vs more complex Apereo CAS UI for "mfa trusted devices"

Requirements

Installation

Diagramme d'explication (en français)

Divers

License

MIT [EsupPortail]: https://www.esup-portail.org/

About

CAS server which delegates to another CAS server the password check + asks for OTP using esup-otp-api

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published