Edit file File name : SCRAM.pm Content :use 5.008; use strict; use warnings; package Authen::SCRAM; # ABSTRACT: Salted Challenge Response Authentication Mechanism (RFC 5802) our $VERSION = '0.011'; 1; # vim: ts=4 sts=4 sw=4 et: __END__ =pod =encoding UTF-8 =head1 NAME Authen::SCRAM - Salted Challenge Response Authentication Mechanism (RFC 5802) =head1 VERSION version 0.011 =head1 SYNOPSIS use Authen::SCRAM::Client; use Authen::SCRAM::Server; use Try::Tiny; ### CLIENT SIDE ### $client = Authen::SCRAM::Client->new( username => 'johndoe', password => 'trustno1', ); try { $client_first = $client->first_msg(); # send to server and get server-first-message $client_final = $client->final_msg( $server_first ); # send to server and get server-final-message $client->validate( $server_final ); } catch { die "Authentication failed!" }; ### SERVER SIDE ### $server = Authen::SCRAM::Server->new( credential_cb => \&get_credentials, ); $username = try { # get client-first-message $server_first = $server->first_msg( $client_first ); # send to client and get client-final-message $server_final = $server->final_msg( $client_final ); # send to client return $server->authorization_id; # returns valid username } catch { die "Authentication failed!" }; =head1 DESCRIPTION The modules in this distribution implement the Salted Challenge Response Authentication Mechanism (SCRAM) from RFC 5802. See L<Authen::SCRAM::Client> and L<Authen::SCRAM::Server> for usage details. =head1 NAME Authen::SCRAM - Salted Challenge Response Authentication Mechanism (RFC 5802) =head1 VERSION version 0.011 =for Pod::Coverage BUILD =for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L<https://github.com/dagolden/Authen-SCRAM/issues>. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L<https://github.com/dagolden/Authen-SCRAM> git clone https://github.com/dagolden/Authen-SCRAM.git =head1 AUTHOR David Golden <dagolden@cpan.org> =head1 CONTRIBUTOR =for stopwords David Golden David Golden <xdg@xdg.me> =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2014 by David Golden. This is free software, licensed under: The Apache License, Version 2.0, January 2004 =for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan =head1 SUPPORT =head2 Bugs / Feature Requests Please report any bugs or feature requests through the issue tracker at L<https://github.com/dagolden/Authen-SCRAM/issues>. You will be notified automatically of any progress on your issue. =head2 Source Code This is open source software. The code repository is available for public review and contribution under the terms of the license. L<https://github.com/dagolden/Authen-SCRAM> git clone https://github.com/dagolden/Authen-SCRAM.git =head1 AUTHOR David Golden <dagolden@cpan.org> =head1 CONTRIBUTOR =for stopwords David Golden David Golden <xdg@xdg.me> =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2014 by David Golden. This is free software, licensed under: The Apache License, Version 2.0, January 2004 =cut Save