J'ai mis en place une authentification SSO en utilisant mod_auth_kerb sur Apache. Ma configuration ressemble à ceci :
<Location /login/ >
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate on
KrbAuthoritative on
KrbVerifyKDC on
KrbAuthRealm D.ETHZ.CH
Krb5Keytab /etc/HTTP.keytab
KrbSaveCredentials on
RequestHeader set KERBEROS_USER %{REMOTE_USER}s
</Location>
Mon problème est que, sans require valid-user
mod_auth_kerb n'essaie même pas d'authentifier l'utilisateur et KERBEROS_USER
finit par être (null)
. Si j'ajoute require valid-user
l'utilisateur est authentifié automatiquement si le navigateur le prend en charge, mais il reçoit un affreux formulaire de connexion modal (comme HTTP Basic Auth) si le navigateur ne prend pas en charge Kerberos Negotiate.
Ce que je veux réaliser est que si un utilisateur visite /login/
le mod_auth_kerb tente d'authentifier l'utilisateur par le biais de Kerberos Negotiate. Si cela échoue, un formulaire de connexion HTML normal sera présenté à l'utilisateur.
Est-il possible de configurer Apache/mod_auth_kerb de cette manière ?