return ( 1, $borrower->get_column('cardnumber'), $borrower->get_column('userid') );
}
- if ( $shib->{'autocreate'} ) {
- return _autocreate( $dbh, $shib, $match );
+ if ( $config->{'autocreate'} ) {
+ return _autocreate( $config, $match );
} else {
# If we reach this point, the user is not a valid koha user
- $debug and warn "User $userid is not a valid Koha user";
+ $debug and warn "User with $config->{matchpoint} of $match is not a valid Koha user";
return 0;
}
}
sub _autocreate {
- my ( $dbh, $shib, $match ) = @_;
+ my ( $config, $match ) = @_;
- my %borrower = ( $shibbolethMatchField => $match );
+ my %borrower = ( $config->{matchpoint} => $match );
- while ( my ( $key, $entry ) = each %{$shib->{'mapping'}} ) {
+ while ( my ( $key, $entry ) = each %{$config->{'mapping'}} ) {
$borrower{$key} = ( $entry->{'is'} && $ENV{ $entry->{'is'} } ) || $entry->{'content'} || '';
}
Map shibboleth attributes to koha fields, and configure authentication match point in koha-conf.xml.
<shibboleth>
- <matchpoint>userid<matchpoint> <!-- koha borrower field to match upon -->
+ <matchpoint>userid</matchpoint> <!-- koha borrower field to match upon -->
<mapping>
<userid is="eduPersonID"></userid> <!-- koha borrower field to shibboleth attribute mapping -->
</mapping>
=head2 checkpw_shib
-Given a database handle and a shib_login attribute, this routine checks for a matching local user and if found returns true, their cardnumber and their userid. If a match is not found, then this returns false.
+Given a shib_login attribute, this routine checks for a matching local user and if found returns true, their cardnumber and their userid. If a match is not found, then this returns false.
my ( $retval, $retcard, $retuserid ) = C4::Auth_with_shibboleth::checkpw_shib( $shib_login );
=head2 _autocreate
- my ( $retval, $retcard, $retuserid ) = _autocreate( $dbh, $shib, $userid );
+ my ( $retval, $retcard, $retuserid ) = _autocreate( $config, $match );
-Given a database handle, a shibboleth attribute reference and a userid this internal routine will add the given user to koha and return their user credentials
+Given a shibboleth attribute reference and a userid this internal routine will add the given user to Koha and return their user credentials.
This routine is NOT exported