![]() |
![]()
| ![]() |
![]()
NAMENet::SAML2::Binding::Redirect - HTTP Redirect binding for SAML VERSIONversion 0.82 SYNOPSISmy $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 => 'sha256', 'sha224', 'sha384', 'sha512' or 'sha1' # Signature to sign request ); my $url = $redirect->sign($authnreq); my $ret = $redirect->verify($url); METHODSnew( ... )Constructor. Creates an instance of the Redirect binding. Arguments:
get_redirect_uri($authn_request, $relaystate)Get the redirect URI for a 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. The request is signed unless the the object has been instantiated with "<insecure =" 1>>. 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. Returns the signed (or unsigned) URL for the SAML2 redirect verify( $query_string )my ($request, $relaystate) = $self->verify($query_string) Decode a Redirect binding URL. Verifies the signature on the response. Requires the *raw* query string to be passed, because URI parses and re-encodes URI-escapes in uppercase (%3f becomes %3F, for instance), which leads to signature verification failures if the other party uses lower case (or mixed case). Returns an ARRAY of containing the verified request and relaystate (if it exists). Croaks on errors. AUTHORS
COPYRIGHT AND LICENSEThis software is copyright (c) 2025 by Venda Ltd, see the CONTRIBUTORS file for others. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
|