| Lemonldap::NG::Common::Apache::Session::SOAP(3pm) | User Contributed Perl Documentation | Lemonldap::NG::Common::Apache::Session::SOAP(3pm) |
Lemonldap::NG::Common::Apache::Session::SOAP - Perl extension written to access to Lemonldap::NG Web-SSO sessions via SOAP.
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
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.
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.
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)
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 :
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',
},
} );
SOAP::transport provides a simple way to use SSL certificate: you've just to set environment variables.
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',
},
} );
Lemonldap::NG::Manager, Lemonldap::NG::Common::Conf::SOAP, Lemonldap::NG::Handler, Lemonldap::NG::Portal, <http://lemonldap-ng.org/>
Use OW2 system to report bug or ask for features: <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>
Lemonldap::NG is available at <https://lemonldap-ng.org/download>
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/>.
| 2023-09-29 | perl v5.36.0 |