NAME
Authen::DigestMD5 - SASL DIGEST-MD5 authentication (RFC2831)
SYNOPSIS
use Authen::DigestMD5;
use OnLDAP;
$ld=OnLDAP::Client->new($host);
($rc, $id)=$ld->sasl_bind(undef, 'DIGEST-MD5');
($rc, $msg)=$ld->result($id);
($rc, $req)=$ld->parse_sasl_bind_result($msg);
print "IN: |$req|\n";
my $request=Authen::DigestMD5::Request->new($req);
my $response=Authen::DigestMD5::Response->new;
$response->got_request($request);
$response->set(username => $user,
realm => $realm,
'digest-uri' => "ldap/$host");
$response->add_digest(password=>$passwd);
my $res=$response->output;
print "OUT: |$res|\n";
($rc, $id)=$ld->sasl_bind(undef, 'DIGEST-MD5', $res);
($rc, $msg)=$ld->result($id);
($rc, $req)=$ld->parse_sasl_bind_result($msg);
$request->input($req);
print $request->auth_ok ? "AUTH OK\n" : "AUTH FAILED\n"
ABSTRACT
This module supports DIGEST-MD5 SASL authentication as defined on RFC-2831.
DESCRIPTION
This module implements three classes:
- Authen::DigestMD5::Packet
-
base class implementing common methods to process SASL DIGEST-MD5 strings or objects:
- Authen::DigestMD5::Packet->new(%props)
- Authen::DigestMD5::Packet->new($input, %props)
-
create a new object with the properties in
%props
. If$input
is passed it is parsed and the values obtained from it added to the object. - $pkt->input($input)
-
parses the properties on the string
$input
and adds them to the object. - $pkt->output()
-
packs all the properties on the object as a string suitable for sending to a SASL DIGEST-MD5 server or client.
- $pkg->set($k1=>$v1, $k2=>$v2, ...)
- $pkg->set(%props)
-
set object properties.
- ($v1, $v2, ...)=$pkg->get($k1, $k2, ...)
-
gets object properties.
- $pkg->reset()
-
clears public object properties. Some internal properties like nc counters are retained.
- Authen::DigestMD5::Request
-
class to represent SASL DIGEST-MD5 requests as obtained from a server.
- Authen::DigestMD5::Response
-
class to represent and generate SASL DIGEST-MD5 responses suitables for sending to a server.
SEE ALSO
Be sure to look at Authen::SASL because it is very likely that it is what you are looking for (Authen::DigestMD5
is only suitable when you need a finer control over the authentication procedure).
SASL DIGEST-MD5 RFC http://www.ietf.org/rfc/rfc2831.txt.
AUTHOR
Salvador Fandiño, <sfandino@yahoo.com>
COPYRIGHT AND LICENSE
Copyright 2003 by Salvador Fandiño.
Portions of this module have been copied from the Authen::SASL package by Graham Barr.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 317:
Non-ASCII character seen before =encoding in 'Fandiño,'. Assuming CP1252