NAME

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

VERSION

version 0.49

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.