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

NAME

Net::SAML2::Binding::Redirect - Net::SAML2::Binding::Redirect - HTTP Redirect binding for SAML

VERSION

version 0.46

SYNOPSIS

  my $redirect = Net::SAML2::Binding::Redirect->new(
    key     => '/path/to/SPsign-nopw-key.pem',          # Service Provider (SP) private key
    url     => $sso_url,                                                        # Service Provider Single Sign Out URL
    param   => 'SAMLRequest' OR 'SAMLResponse',         # Type of request
    cert    => $idp->cert('signing')                            # Identity Provider (IdP) certificate
    sig_hash => 'sha1', 'sha224', 'sha256', 'sha384', 'sha512'  # Signature to sign request
  );

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

  my $ret = $redirect->verify($url);

NAME

Net::SAML2::Binding::Redirect

METHODS

new( ... )

Constructor. Creates an instance of the Redirect binding.

Arguments:

key

The SP's (Service Provider) also known as your application's signing key that your application uses to sign the AuthnRequest. Some IdPs may not verify the signature.

cert

IdP's (Identity Provider's) certificate that is used to verify a signed Redirect from the IdP. It is used to verify the signature of the Redirect response.

url

IdP's SSO (Single Sign Out) service url for the Redirect binding

param

query param name to use (SAMLRequest, SAMLResponse)

sig_hash

RSA hash to use to sign request

Supported:

sha1, sha224, sha256, sha384, sha512

sha1 is current default but will change by version 44

sls_force_lcase_url_encoding

Specifies that the IdP requires the encoding of a URL to be in lowercase. Necessary for a HTTP-Redirect of a LogoutResponse from Azure in particular. True (1) or False (0). Some web frameworks and underlying http requests assume that the encoding should be in the standard uppercase (%2F not %2f)

sls_double_encoded_response

Specifies that the IdP response sent to the HTTP-Redirect is double encoded. The double encoding requires it to be decoded prior to processing.

sign( $request, $relaystate )

Signs the given request, and returns the URL to which the user's browser should be redirected.

Accepts an optional RelayState parameter, a string which will be returned to the requestor when the user returns from the authentication process with the IdP.

verify( $url )

Decode a Redirect binding URL.

Verifies the signature on the response.

AUTHOR

Chris Andrews <chrisa@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2021 by Chris Andrews and Others, see the git log.

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