0

I'm moving an old installation of RT from 4.0.x to newest version of 4.4.2. The old installation uses Shibboleth and has worked fine doing so for years with RT_SiteConfig.pm settings:

Set($ExternalAuthPriority, ['Shibboleth']);
Set($ExternalInfoPriority, [ 'Shibboleth' ]);
Set($ExternalServiceUsesSSLorTLS, 0);
Set($AutoCreateNonExternalUsers, 1);
Set($ExternalSettings,
    { 'Shibboleth' =>
        { 'type'               => 'shib',
          'auth'               => 0,
          'info'               => 1,
          'attr_match_list'    =>
              [ 'Name', 'EmailAddress', 'RealName' ],
          'attr_map'           =>
              { 'Name'         => 'REMOTE_USER',
                'EmailAddress' => 'mail',
                'RealName'     => 'displayName' }
        }
    }

And an Apache vhost like:

< Location />
    Require all granted

    SetHandler modperl
    PerlResponseHandler Plack::Handler::Apache2
    PerlSetVar psgi_app /opt/rt4/sbin/rt-server

    AuthType shibboleth
    ShibRequireSession On
    require valid-user
    ShibRequestSetting requireSession 1
    Options FollowSymLinks
< /Location>

< Location "/Shibboleth.sso">
    Require all granted
    SetHandler shib
    AuthType None
< /Location>

When I went to use this same config to set up the database I get:

make initialize-database
Password:
Working with:
Type:   mysql
Host:   localhost
Port:
Name:   rtdb
User:   rtdbuser
DBA:    root
Now creating a mysql database rtdb for RT.
Done.
Now populating database schema.
Done.
Now inserting database ACLs.
Done.
Now inserting RT core system objects.
Done.
[error]: Service 'Shibboleth' in ExternalInfoPriority is not ldap, db, or cookie; removing. (/usr/local/src/rt-4.4.2/sbin/../lib/RT/Config.pm:1094)
Now inserting data.
Done inserting data.
Done.

The only thing different that I can see is when doing the installation is that I can no longer install RT::Authen::ExternalAuth. When I try I get:

**** Error: Your installed version of RT (4.4.2) is too new; this extension
        only works with versions older than 4.4.0.

I checked the documentation and from what I read it looks like the ExternalAuth functionality is now builtin and you no longer need the plugin. If this is in fact the case how do you use Shibboleth in RT? If it isn't the case how would you fix this?

tjones
  • 1

1 Answers1

0

It looks like when it was integrated, shib support was dropped. See https://github.com/bestpractical/rt/pull/208/ for a pull request to add shib support; you'll want to set WebRemoteUser and ExternalSettingsRemoteUser in your RT_SiteConfig.pm

AR K
  • 1