info > Authen::SASL::Perl::GSSAPI

📛 NAME

Authen::SASL::Perl::GSSAPI - GSSAPI (Kerberosv5) Authentication class

🚀 Quick Reference

Use Case Command Description
🔐 Basic GSSAPI SASL client $sasl = Authen::SASL->new(mechanism => 'GSSAPI'); Create a new SASL client object using GSSAPI mechanism
🔑 GSSAPI with explicit credentials $sasl = Authen::SASL->new(mechanism => 'GSSAPI', callback => { pass => $mycred }); Create SASL client with a GSSAPI::Cred object passed via callback
🌐 Start client authentication $sasl->client_start($service, $host); Initiate GSSAPI authentication to service@host using Kerberos 5 TGT
📡 LDAP bind with GSSAPI $ldap->bind(sasl => $sasl); Perform LDAP bind using GSSAPI SASL authentication
🔍 Check SASL error details $sasl->error Retrieve detailed SASL error message after failure

📋 SYNOPSIS

use Authen::SASL qw(Perl);

$sasl = Authen::SASL->new( mechanism => 'GSSAPI' );

$sasl = Authen::SASL->new( mechanism => 'GSSAPI',
                           callback => { pass => $mycred });

$sasl->client_start( $service, $host );

📖 DESCRIPTION

This method implements the client part of the GSSAPI SASL algorithm, as described in RFC 2222 section 7.2.1 resp. draft-ietf-sasl-gssapi-XX.txt.

With a valid Kerberos 5 credentials cache (aka TGT) it allows to connect to service@host given as the first two parameters to Authen::SASL's client_start() method. Alternatively, a GSSAPI::Cred object can be passed in via the Authen::SASL callback hash using the pass key.

âš ī¸ Security Note: This module does not currently implement a SASL security layer following authentication. Unless the connection is protected by other means, such as TLS, it will be vulnerable to man-in-the-middle attacks. If security layers are required, then the Authen::SASL::XS GSSAPI module should be used instead.

📞 CALLBACK

The callbacks used are:

💡 EXAMPLE

#! /usr/bin/perl -w

use strict;

use Net::LDAP 0.33;
use Authen::SASL 2.10;

# -------- Adjust to your environment --------
my $adhost      = 'theserver.bla.net';
my $ldap_base   = 'dc=bla,dc=net';
my $ldap_filter = '(&(sAMAccountName=BLAAGROL))';

my $sasl = Authen::SASL->new(mechanism => 'GSSAPI');
my $ldap;

eval {
    $ldap = Net::LDAP->new($adhost,
                            'die')
      or  die "Cannot connect to LDAP host '$adhost': '$@'";
    $ldap->bind(sasl => $sasl);
};

if ($@) {
    chomp $@;
    die   "\nBind error         : $@",
          "\nDetailed SASL error: ", $sasl->error,
          "\nTerminated";
}

print "\nLDAP bind() succeeded, working in authenticated state";

my $mesg = $ldap->search(base   => $ldap_base,
                         filter => $ldap_filter);

# -------- evaluate $mesg

âš™ī¸ PROPERTIES

The properties used are:

📚 SEE ALSO

Authen::SASL, Authen::SASL::Perl

âœī¸ AUTHORS

Written by Simon Wilkinson, with patches and extensions by Achim Grolms and Peter Marschall.

Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap AT perl.org>

ÂŠī¸ COPYRIGHT

Copyright (c) 2006 Simon Wilkinson, Achim Grolms and Peter Marschall. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Authen::SASL::Perl::GSSAPI
📛 NAME 🚀 Quick Reference 📋 SYNOPSIS 📖 DESCRIPTION
📞 CALLBACK
💡 EXAMPLE
âš™ī¸ PROPERTIES
📚 SEE ALSO âœī¸ AUTHORS ÂŠī¸ COPYRIGHT

Generated by phpman v4.9.26-5-g7740029 Author: Che Dong Under GNU General Public License
2026-08-16 08:57 @2600:1f28:365:80b0:7cb9:fb:26c1:e368
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)
Valid XHTML 1.0 Transitional!Valid CSS!