Lemonld...n::SOAP(3)
π Lemonld...n::SOAP(3) β the whole vibe π
User Contributed Perl Documentation β¨ okay bestie, this is the manpage for Lemonldap::NG::Common::Apache::Session::SOAP and we're gonna get you fluent in it. Grab a strawberry drink, we're going in. π
πΈ NAME πΈ
Lemonldap::NG::Common::Apache::Session::SOAP β a Perl extension written to access to Lemonldap::NG Web-SSO sessions via SOAP. yes queen, sessions over SOAP, it's giving distributed auth realness π
β¨ SYNOPSIS β¨
Two whole ways to show up to this party, and both of them eat. π₯
π With Lemonldap::NG::Handler
package My::Package;
use Lemonldap::NG::Handler::SharedConf;
our @ISA = qw(Lemonldap::NG::Handler::Simple);
__PACKAGE__->init ({
globalStorage => 'Lemonldap::NG::Common::Apache::Session::SOAP',
globalStorageOptions => {
proxy => 'http://auth.example.com/sessions',
proxyOptions => {
timeout => 5,
},
# If soapserver is protected by HTTP Basic:
User => 'http-user',
Password => 'pass',
# To have a local session cache
localStorage => "Cache::FileCache",
localStorageOptions => {
'namespace' => 'lemonldap-ng',
'default_expires_in' => 600,
},
},
configStorage => {
... # See Lemonldap::NG::Handler
π¦ With Lemonldap::NG::Portal
use Lemonldap::NG::Portal::SharedConf;
my $portal = new Lemonldap::NG::Portal::SharedConf (
globalStorage => 'Lemonldap::NG::Common::Apache::Session::SOAP',
globalStorageOptions => {
proxy => 'http://auth.example.com/sessions',
proxyOptions => {
timeout => 5,
},
# If soapserver is protected by HTTP Basic:
User => 'http-user',
Password => 'pass',
# To have a local session cache
localStorage => "Cache::FileCache",
localStorageOptions => {
'namespace' => 'lemonldap-ng',
'default_expires_in' => 600,
},
},
configStorage => {
... # See Lemonldap::NG::Portal
You can also set parameters corresponding to "Apache::Session module" in the manager. π (the manager, not you. you're already managing, bestie.)
π DESCRIPTION π
Lemonldap::NG::Common::Conf provides a simple interface to access to Lemonldap::NG Web-SSO configuration. It is used by Lemonldap::NG::Handler, Lemonldap::NG::Portal and Lemonldap::NG::Manager. three icons sharing one brain cell of config and honestly? slay β¨
Lemonldap::NG::Common::Apache::Session::SOAP used with Lemonldap::NG::Portal provides the ability to access to Lemonldap::NG sessions via SOAP: the portal act as a proxy to access to the real Apache::Session module (see HTML documentation for more) π
lowkey the portal is just the middleman here and the middleman is thriving π
π SECURITY π
As Lemonldap::NG::Common::Conf::SOAP use SOAP::Lite, you have to see SOAP::Transport to know arguments that can be passed to proxyOptions. Lemonldap::NG provides a system for HTTP basic authentication. π‘οΈ
Examples :
π§ HTTP Basic authentication
SOAP::transport can use basic authentication by rewriting "SOAP::Transport::HTTP::Client::get_basic_credentials>:
package My::Package;
use base Lemonldap::NG::Handler::SharedConf;
__PACKAGE__->init ( {
globalStorage => 'Lemonldap::NG::Common::Apache::Session::SOAP',
globalStorageOptions => {
proxy => 'http://auth.example.com/sessions',
User => 'http-user',
Password => 'pass',
},
} );
πΈ SSL Authentication
SOAP::transport provides a simple way to use SSL certificate: you've just to set environment variables. cert and key, no cap, it's that easy π
package My::Package;
use base Lemonldap::NG::Handler::SharedConf;
# AUTHENTICATION
$ENV{HTTPS_CERT_FILE} = 'client-cert.pem';
$ENV{HTTPS_KEY_FILE} = 'client-key.pem';
__PACKAGE__->init ( {
globalStorage => 'Lemonldap::NG::Common::Apache::Session::SOAP',
globalStorageOptions => {
proxy => 'https://auth.example.com/sessions',
},
} );
periodt. rewrite that method for basic auth, set those env vars for SSL, and don't come crying to me if you skip it. π
π SEE ALSO π
Lemonldap::NG::ManagerLemonldap::NG::Common::Conf::SOAPLemonldap::NG::HandlerLemonldap::NG::Portal- <http://lemonldap-ng.org/>
the whole friend group fr fr, go read them, iykyk π«Ά
π AUTHORS π
LemonLDAP::NG team <http://lemonldap-ng.org/team> β absolute icons, main character energy, we stan π
π BUG REPORT π
Use OW2 system to report bug or ask for features: <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>
found a bug? not me being dramatic but pls tell them, the issue tracker is right there and it's free π
β¬οΈ 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/>.
no warranty bestie, GPL said what it said π
okay that's the whole page!! this one was rendered by perl v5.42.3 on 2026-09-24, and the source is Lemonld...n::SOAP(3) from the User Contributed Perl Documentation. mwah, go build something iconic π¦β¨π
π¦ where this page comes from
- fedora 43: lemonldap-ng-common 2.23.4-1.fc43 Β· GPL-2.0-or-later AND MIT AND GPL-3.0-or-later AND OFL-1.1-RFN
- fedora 44: lemonldap-ng-common 2.23.4-1.fc44 Β· GPL-2.0-or-later AND MIT AND GPL-3.0-or-later AND OFL-1.1-RFN
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms