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

# Authen::SCRAM(3pm)

Salted Challenge Response Authentication Mechanism (RFC 5802)

## NAME

Authen::SCRAM - Salted Challenge Response Authentication Mechanism (RFC 5802)

## VERSION

version 0.011

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

## DESCRIPTION

The modules in this distribution implement the Salted Challenge Response Authentication Mechanism (SCRAM) from RFC 5802.

See Authen::SCRAM::Client and Authen::SCRAM::Server for usage details.

## NAME

Authen::SCRAM - Salted Challenge Response Authentication Mechanism (RFC 5802)

## VERSION

version 0.011

## SUPPORT

### Bugs / Feature Requests

Please 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.

### 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\>

## 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
```

## SUPPORT

### Bugs / Feature Requests

Please 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.

### 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\>

## 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
```
