Filter error in RT-Authen-ExternalAuth

I’m using an LDAP filter, that otherwise works, in
RT-Authen-ExternalAuth that is giving me an perl error that I’m having
trouble getting rid of. Here is my configuration (names changed to
protect the innocent):

Set($ExternalSettings, {
'My_LDAP'       =>  {
    'type'             =>  'ldap',
    'server'           =>  'ldap.myorg.org',
    'user' => 'cn=authentication,ou=widgets,o=myorg',
    'pass' => 'SUPERSEKRET',
    'tls' => 1,
    'base' => 'ou=accounts,o=myorg',
    'filter' => '(objectClass=FooBarBoo)',
    'd_filter' => '(objectClass=Deactivated)',
    'net_ldap_args' => [ version => 3 ],
    # Users are allowed to log in via email address or account
    # name
    'attr_match_list'  => [
    'uid',
            ],
            # Import the following properties of the user from LDAP upon
            # login
    'attr_map' => {
                'RealName'     => 'cn',
    },
},
} );

And here’s the error:

[28018] [Thu Dec 4 22:34:57 2014] [error]: Can’t locate object method
"as_string" via package “(objectClass=FooBarBaz)” (perhaps you forgot to
load “(objectClass=FooBarBoo)”?) at
/usr/local/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm
line 469.

I’ve tried quoting, escaping, and staring blankly at the code for hours
on end, but filter just doesn’t digest. Can any tell me what I’m missing?

My error was thinking attr_match_list and attr_map were not dependent on
each other. The following change works:

name
‘attr_match_list’ => [
‘Name’,
],
# Import the following properties of the user from LDAP
upon
login
‘attr_map’ => {
‘Name’ => ‘uid’,
‘RealName’ => ‘cn’,
},On 12/05/2014 02:44 PM, Pete Ashdown wrote:

I’m using an LDAP filter, that otherwise works, in
RT-Authen-ExternalAuth that is giving me an perl error that I’m having
trouble getting rid of. Here is my configuration (names changed to
protect the innocent):

Set($ExternalSettings, {
'My_LDAP'       =>  {
    'type'             =>  'ldap',
    'server'           =>  'ldap.myorg.org',
    'user' => 'cn=authentication,ou=widgets,o=myorg',
    'pass' => 'SUPERSEKRET',
    'tls' => 1,
    'base' => 'ou=accounts,o=myorg',
    'filter' => '(objectClass=FooBarBoo)',
    'd_filter' => '(objectClass=Deactivated)',
    'net_ldap_args' => [ version => 3 ],
    # Users are allowed to log in via email address or account
    # name
    'attr_match_list'  => [
    'uid',
            ],
            # Import the following properties of the user from LDAP upon
            # login
    'attr_map' => {
                'RealName'     => 'cn',
    },
},
} );

And here’s the error:

[28018] [Thu Dec 4 22:34:57 2014] [error]: Can’t locate object method
“as_string” via package “(objectClass=FooBarBaz)” (perhaps you forgot to
load “(objectClass=FooBarBoo)”?) at
/usr/local/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth/LDAP.pm
line 469.

I’ve tried quoting, escaping, and staring blankly at the code for hours
on end, but filter just doesn’t digest. Can any tell me what I’m missing?