table of contents
- bookworm 2.16.1+ds-deb12u3
- bookworm-backports 2.20.1+ds-1~bpo12+1
- testing 2.20.1+ds-1
- unstable 2.20.1+ds-1
Lemonldap::NG::Portal::Lib::SAML(3pm) | User Contributed Perl Documentation | Lemonldap::NG::Portal::Lib::SAML(3pm) |
NAME¶
Lemonldap::NG::Portal::Lib::SAML - Common SAML functions
SYNOPSIS¶
use Lemonldap::NG::Portal::Lib::SAML;
DESCRIPTION¶
This module contains common methods for SAML authentication and user information loading
METHODS¶
loadLasso¶
Load Lasso module
loadService¶
Load SAML service by creating a Lasso::Server
loadIDPs¶
Load SAML identity providers
loadSPs¶
Load SAML service providers
checkMessage¶
Check SAML requests and responses
checkLassoError¶
Log Lasso error code and message if this is actually a Lasso::Error with code > 0
createServer¶
Load service metadata and create Lasso::Server object
addIDP¶
Add IDP to an existing Lasso::Server
addSP¶
Add SP to an existing Lasso::Server
addAA¶
Add Attribute Authority to an existing Lasso::Server
addProvider¶
Add provider to an existing Lasso::Server
getOrganizationName¶
Return name of organization picked up from metadata
createAuthnRequest¶
Create authentication request for selected IDP
createLogin¶
Create Lasso::Login object
initAuthnRequest¶
Init authentication request
initIdpInitiatedAuthnRequest¶
Init authentication request for IDP initiated
buildAuthnRequestMsg¶
Build authentication request message
processAuthnRequestMsg¶
Process authentication request message
processAuthnRequestMsgWithError¶
Process authentication request message and return Lasso error
validateRequestMsg¶
Validate request message
buildAuthnResponseMsg¶
Build authentication response message
buildArtifactMsg¶
Build artifact message
buildAssertion¶
Build assertion
processAuthnResponseMsg¶
Process authentication response message
getNameIdentifier¶
Get NameID from Lasso Profile
createIdentity¶
Create Lasso::Identity object
createSession¶
Create Lasso::Session object
acceptSSO¶
Accept SSO from IDP
storeRelayState¶
Store information in relayState database and return
extractRelayState¶
Extract RelayState information into $self
getAssertion¶
Get assertion in Lasso::Login object
getAttributeValue¶
Get SAML attribute value corresponding to name, format and friendly_name Multivaluated values are separated by ';'
validateConditions¶
Validate conditions
createLogoutRequest¶
Create logout request for selected entity
createLogout¶
Create Lasso::Logout object
initLogoutRequest¶
Init logout request
buildLogoutRequestMsg¶
Build logout request message
setSessionFromDump¶
Set session from dump in Lasso::Profile object
setIdentityFromDump¶
Set identity from dump in Lasso::Profile object
getMetaDataURL¶
Get URL stored in a service metadata configuration key
processLogoutResponseMsg¶
Process logout response message
processLogoutRequestMsg¶
Process logout request message
validateLogoutRequest¶
Validate logout request
buildLogoutResponseMsg¶
Build logout response msg
storeReplayProtection¶
Store ID of an SAML message in Replay Protection base
replayProtection¶
Check if SAML message do not correspond to a previously responded message
resolveArtifact¶
Resolve artifact to get the real SAML message
storeArtifact¶
Store artifact
loadArtifact¶
Load artifact
createArtifactResponse¶
Create artifact response
processArtRequestMsg¶
Process artifact response message
processArtResponseMsg¶
Process artifact response message
sendSOAPMessage¶
Send SOAP message and get response
createAssertionQuery¶
Create a new assertion query
createAttributeRequest¶
Create an attribute request
validateAttributeRequest¶
Validate an attribute request
processAttributeRequest¶
Process an attribute request
buildAttributeResponse¶
Build attribute response
processAttributeResponse¶
Process an attribute response
getNameIDFormat¶
Convert configuration string into SAML2 NameIDFormat string
getHttpMethod¶
Convert configuration string into Lasso HTTP Method integer
getHttpMethodString¶
Convert configuration Lasso HTTP Method integer into string
getFirstHttpMethod¶
Find a suitable HTTP method for an entity with a given protocol
disableSignature¶
Modify Lasso signature hint to disable signature
forceSignature¶
Modify Lasso signature hint to force signature
disableSignatureVerification¶
Modify Lasso signature hint to disable signature verification
forceSignatureVerification¶
Modify Lasso signature hint to force signature verification
getAuthnContext¶
Convert configuration string into SAML2 AuthnContextClassRef string
timestamp2samldate¶
Convert timestamp into SAML2 date format
samldate2timestamp¶
Convert SAML2 date format into timestamp
sendLogoutResponseToServiceProvider¶
Send logout response issue from a logout request
sendLogoutRequestToProvider¶
Send logout request to a provider
sendLogoutRequestToProviders¶
Send logout response issue from a logout request to all other providers. If information have to be displayed to users, such as iframe to send HTTP-Redirect or HTTP-POST logout request, then $self->{_info} will be updated.
checkSignatureStatus¶
Check signature status
authnContext2authnLevel¶
Return authentication level corresponding to authnContext
authnLevel2authnContext¶
Return SAML authentication context corresponding to authnLevel
checkDestination¶
If SAML Destination attribute is present, check it
getSamlSession¶
Try to recover the SAML session corresponding to id and return session data
createAttribute¶
Create a new SAML attribute
createAttributeValue¶
Create a new SAML attribute value
getEncryptionMode¶
Return Lasso encryption mode
setProviderEncryptionMode¶
Set encryption mode on a provider
deleteSAMLSecondarySessions¶
Find and delete SAML sessions bounded to a primary session
sendSLOErrorResponse¶
Send an SLO error response
getQueryString¶
Get query string with or without CGI query_string() method
getSignatureMethod¶
Return Lasso signature method
setProviderSignatureMethod¶
Set signature method on a provider
SEE ALSO¶
Lemonldap::NG::Portal::Auth::SAML, Lemonldap::NG::Portal::UserDBSAML
AUTHORS¶
BUG REPORT¶
Use OW2 system to report bug or ask for features: <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>
DOWNLOAD¶
Lemonldap::NG is available at <https://lemonldap-ng.org/download>
COPYRIGHT AND LICENSE¶
See COPYING file for details.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
2024-10-16 | perl v5.40.0 |