Authen::SCRAM(3pm)

πŸ“¦
version 0.011 Β· 4 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

Authen::SCRAM β€” Salted Challenge Response Authentication Mechanism, aka the whole RFC 5802 situation ✨

so like. this is the Authen::SCRAM(3pm) page, from the User Contributed Perl Documentation corner of the internet, and it's about SCRAM. slay.


🌸 VERSION 🌸

version 0.011 β€” yes that's the number, it's giving "we've been at this a while and we're stable" energy 🫢


✨ SYNOPSIS ✨

okay bestie, here's the whole vibe in code. read it, don't skim it, it's literally the plot:

    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!"
    };

the handshake is a whole conversation and both sides are main characters, that's the entire point πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

the modules in this distribution implement the Salted Challenge Response Authentication Mechanism (SCRAM) from RFC 5802. that's it, that's the mission. no cap.

for the actual usage deets, go read Authen::SCRAM::Client and Authen::SCRAM::Server. they're the ones doing the work, this page is just the group chat intro 😌


πŸŽ€ NAME πŸŽ€

Authen::SCRAM β€” Salted Challenge Response Authentication Mechanism (RFC 5802)

(yes it's here twice. the manpage said it twice, so i said it twice. i don't make the rules, i just obey them fr fr πŸ™ˆ)


πŸ’œ VERSION πŸ’œ

version 0.011 β€” still 0.011, still iconic ✨


🌈 SUPPORT 🌈

πŸ› Bugs / Feature Requests

pls pls pls report any bugs or feature requests through the issue tracker at <https://github.com/dagolden/Authen-SCRAM/issues>. you'll get notified automatically about any progress on your issue β€” the bots will keep you posted, no ghosting 🫢

🧚 Source Code

this is open source software, periodt. the code repository is out there for public review and contribution under the terms of the license. come look, come contribute, the door is open πŸ’–

<https://github.com/dagolden/Authen-SCRAM>

  git clone https://github.com/dagolden/Authen-SCRAM.git

πŸ‘‘ AUTHOR πŸ‘‘

David Golden <dagolden@cpan.org>


⭐ CONTRIBUTOR ⭐

David Golden <xdg@xdg.me>


this software is Copyright (c) 2014 by David Golden.

this is free software, licensed under:

  The Apache License, Version 2.0, January 2004

πŸ’– SUPPORT πŸ’–

πŸ› Bugs / Feature Requests

okay so again: report any bugs or feature requests through the issue tracker at <https://github.com/dagolden/Authen-SCRAM/issues>. you will be notified automatically of any progress on your issue. yes, same link, same promise, still true πŸ’…

🧚 Source Code

this is open source software. the code repository is available for public review and contribution under the terms of the license.

<https://github.com/dagolden/Authen-SCRAM>

  git clone https://github.com/dagolden/Authen-SCRAM.git

πŸ‘‘ AUTHOR πŸ‘‘

David Golden <dagolden@cpan.org>


⭐ CONTRIBUTOR ⭐

David Golden <xdg@xdg.me>


this software is Copyright (c) 2014 by David Golden.

this is free software, licensed under:

  The Apache License, Version 2.0, January 2004

not me putting the whole SUPPORT/AUTHOR/CONTRIBUTOR/LICENSE block in twice, but bestie it was in the original twice and the one rule is that the facts stay, so here we are 😭

and that's the page, babes. go authenticate something. slay. πŸ’…

this was Authen::SCRAM(3pm) from the User Contributed Perl Documentation, running on perl v5.36.0, dated 2022-12-11 β€” mwah, take care of her πŸŽ€