logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Lemonldap::NG::Common::Apache::Session::SOAP - Perl extension written to access to Lemonldap::NG Web-SSO

Authors

       LemonLDAP::NG team <http://lemonldap-ng.org/team>

Bug Report

       Use       OW2       system       to       report       bug       or       ask        for        features:
       <https://gitlab.ow2.org/lemonldap-ng/lemonldap-ng/issues>

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.

       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)

   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.

             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',
                 },
             } );

Download

       Lemonldap::NG is available at <https://lemonldap-ng.org/download>

Name

       Lemonldap::NG::Common::Apache::Session::SOAP - Perl extension written to access to Lemonldap::NG Web-SSO
       sessions via SOAP.

See Also

       Lemonldap::NG::Manager, Lemonldap::NG::Common::Conf::SOAP, Lemonldap::NG::Handler, Lemonldap::NG::Portal,
       <http://lemonldap-ng.org/>

Synopsis

       •   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.

See Also