Accéder au contenu.
Menu Sympa

fr - Re: [sympa-fr] Auth CAS directe

Objet : Pour les administrateurs de serveurs de listes utilisant le logiciel Sympa

Archives de la liste

Chronologique Discussions  
  • From: Alban Rodriguez <adresse@cachée>
  • To: adresse@cachée
  • Subject: Re: [sympa-fr] Auth CAS directe
  • Date: Tue, 17 Jul 2018 17:38:00 +0200



Le 17 juil. 2018 à 17:00, Alban Rodriguez <adresse@cachée> a écrit :

Bonjour,

Nous utilisons CAS pour l’authentification Sympa mais je n’arrive pas à faire en sorte que lorsqu’il existe une session CAS valide, l’utilisateur soit déjà authentifié dans Sympa.
Il est toujours nécessaire de cliquer sur le bouton dont le nom est défini avec le paramètre auth_service_friendly_name dans auth.conf
D’après la doc, j’ai l’impression que le paramètre non_blocking_redirection est justement prévu pour cela:

non_blocking_redirection

on or off. Default value: on

This parameter only concerns the first access to Sympa services by a user, it activates or not the non blocking redirection to the related CAS server to check automatically if the user as been previously authenticated with this CAS server. The redirection to CAS is used with the CGI parameter gateway=1 that specifies to CAS server to always redirect the user to the original URL, but just check if the user is logged. If active, the SSO service is effective and transparent, but in case the CAS server is out of order, the access to Sympa services is impossible.

Est-ce que le paramètre CGI gateway=1 doit être défini quelque part ? (serveur web ?) ou bien c’est utilisé en interne par Sympa par défaut ?

Il me semble que lors de l’un de mes tests, j’ai obtenu le fonctionnement désiré (Safari) mais depuis je n’arrive pas à le reproduire.
Avec Chrome et Firefox il faut systématiquement cliquer sur le bouton.

Je précise que je n’ai que cette méthode d’authentification définie dans auth.conf

Sympa 6.2.32

Merci pour vos suggestions

Alban

--
Alban Rodriguez
Direction du Système d'Information
adresse@cachée | 05 46 45 82 14
Université de La Rochelle

Voici ce que j’ai dans le log sympa en debug 4:

Avec une session CAS valide, si je me contente d’accéder à la page d’accueil sans cliquer sur le bouton correspondant au CAS:
2018-07-17T17:32:25.553191+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::new(ml.univ-lr.fr, bf76f08d09d0cedbc1882b232fe117fe31, )
2018-07-17T17:32:25.553443+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::load(bf76f08d09d0cedbc1882b232fe117fe31)
2018-07-17T17:32:25.606005+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::store()
2018-07-17T17:32:25.606828+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::set_cookie(localhost, session, secure= 1)

Si je clique sur le bouton:
2018-07-17T17:32:58.233062+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::new(ml.univ-lr.fr, 9f473a78202b2a6b1838f2e94dfb556ed4, sso_login)
2018-07-17T17:32:58.233173+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::load(9f473a78202b2a6b1838f2e94dfb556ed4)
2018-07-17T17:32:58.274141+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::set_cookie(localhost, session, secure= )
2018-07-17T17:32:58.274813+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::store()
2018-07-17T17:32:58.319152+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::new(ml.univ-lr.fr, 1901c12ddf189884f484201be99fab82ed, sso_login_succeeded)
2018-07-17T17:32:58.319369+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::load(1901c12ddf189884f484201be99fab82ed)
2018-07-17T17:32:58.353288+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::set_cookie(localhost, session, secure= )
2018-07-17T17:32:58.353645+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::store()
2018-07-17T17:32:58.365896+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::new(ml.univ-lr.fr, 98da4f79d3e6980d90e701ff32c6ff80a8, )
2018-07-17T17:32:58.366105+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::load(98da4f79d3e6980d90e701ff32c6ff80a8)
2018-07-17T17:32:58.539744+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::store()
2018-07-17T17:32:58.542688+02:00 sympa wwsympa[25747]: debug Sympa::WWW::Session::set_cookie(localhost, session, secure= 1)

Dans le code source wwsympa.fcgi, je vois qu’il y ajustement un commentaire #FIXME juste à côté du code qui fait la redirection

## This is a CAS service
    if (defined(
            my $cas_id =
                $Conf::Conf{'cas_id'}{$robot}{$in{'auth_service_name'}}
                {'casnum'}
        )
        ) {
        my $cas_server =
            $Conf::Conf{'auth_services'}{$robot}[$cas_id]{'cas_server'};

        $session->{'checked_cas'} = $cas_id;
        my $service = Sympa::get_url(
            $robot, 'sso_login_succeeded',
            nomenu => $param->{'nomenu'},
            paths  => [$in{'auth_service_name'}],
        );

        my $redirect_url = $cas_server->getServerLoginURL($service);
        wwslog('info', '(%s)', $redirect_url);
        if ($redirect_url =~ /http(s)+\:\//i) {
            $in{'action'}           = 'redirect';       #FIXME
            $param->{'redirect_to'} = $redirect_url;
            _redirect($redirect_url);
        }

    } elsif (
        defined(
            my $sso_id =
                $Conf::Conf{'generic_sso_id'}{$robot}
                {$in{'auth_service_name'}}
        )
        ) {
        ## Generic SSO

C’est un problème connu ?

Merci
Alban




Archives gérées par MHonArc 2.6.19+.

Haut de le page