---
name: "Authen::SASL::SCRAM"
section: "3pm"
platform: "linux"
package: "libauthen-sasl-scram-perl"
version: "0.04-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Authen::SASL::SCRAM"
---

# Authen::SASL::SCRAM(3pm)

SCRAM support for Authen::SASL

## NAME

Authen::SASL::SCRAM - SCRAM support for Authen::SASL

## VERSION

0\.04

## SYNOPSIS

```
   # with Authen::SASL::SCRAM installed
   use Authen::SASL;
   my $client = Authen::SASL->new(
        username => 'user',
        password => 'pass',
        mechanism => 'SCRAM-SHA-512 SCRAM-SHA-256 SCRAM-SHA-1 PLAIN'
   );
   # authenticates using SCRAM SHA hash or PLAIN
   my $salt = 'your-precious-salt';
   # $server_key and $stored_key need to be looked up from a user store
   my $server_key = 'server-key-stored-for-this-user';
   my $stored_key = 'key-stored-for-this-user';
   my $server => Authen::SASL->new(
       mechanism => 'SCRAM-SHA-1', # selected mechanism
       callback => {
            getsecret => sub {
                 my $username = shift;
                 return ($salt, $stored_key, $server_key, $iterations);
            },
       }
   );
```

## DESCRIPTION

The `"Authen::SASL::SCRAM"` distribution adds Authen::SASL support for SCRAM authentication using the mechanisms listed below by wrapping Authen::SCRAM.

- SHA-1 (SCRAM-SHA-1)

  - SHA-256 (SCRAM-SHA-256)

  - SHA-512 (SCRAM-SHA-512)

  The \*-PLUS variants are not supported at this time.

## BUGS

Please report bugs via \<https://github.com/ehuelsmann/authen-sasl-scram/issues\>.

## SEE ALSO

Authen::SASL, Authen::SCRAM

## AUTHOR

Erik Huelsmann \<ehuels@gmail.com\>

## COPYRIGHT

Copyright (c) 2023 Erik Huelsmann. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
