The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::SAML2 - SAML bindings and protocol implementation

SYNOPSIS

  # generate a redirect off to the IdP:

        my $idp = Net::SAML2::IdP->new($IDP);
        my $sso_url = $idp->sso_url('urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect');
        
        my $authnreq = Net::SAML2::Protocol::AuthnRequest->new(
                issuer        => 'http://localhost:3000/metadata.xml',
                destination   => $sso_url,
                nameid_format => $idp->format('persistent'),
        )->as_xml;

        my $redirect = Net::SAML2::Binding::Redirect->new(
                key => 'sign-nopw-cert.pem',
                url => $sso_url,
        );

        my $url = $redirect->sign($authnreq);

  # handle the POST back from the IdP, via the browser:

        my $post = Net::SAML2::Binding::POST->new;
        my $ret = $post->handle_response(
                $saml_response
        );
        
        if ($ret) {
                my $assertion = Net::SAML2::Protocol::Assertion->new_from_xml(
                        xml => decode_base64($saml_response)
                );

                # ...
        }

DESCRIPTION

Support for the Web Browser SSO profile of SAML2.

This is a very early release, but one which will correctly perform the SSO process.

MAJOR CAVEATS

SP-side protocol only
Requires XML metadata from the IdP

AUTHOR

Chris Andrews <chrisandrews@venda.com>

COPYRIGHT

The following copyright notice applies to all the files provided in this distribution, including binary files, unless explicitly noted otherwise.

Copyright 2010, 2011 Venda Ltd.

LICENCE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.