package Lemonldap::Federation::Shibboleth;
use 5.008005;
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
# This allows declaration use Lemonldap::Federation::Shibboleth ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.
our %EXPORT_TAGS = ( 'all' => [ qw(
) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw(
);
our $VERSION = '0.0.1' ;
# Preloaded methods go here.
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
Lemonldap::Federation::Shibboleth - Perl extension for lemonldap websso and Shibboleth IDP
=head1 SYNOPSIS
use Lemonldap::Federation::ShibbolethRequestMap ;
my $requestmap = Lemonldap::Federation::ShibbolethRequestMap->new( xml_host => $extrait_de_xml ,
xml_application=> $extrait_de_xml2 ,
uri => $full_uri , ) ;
my $re= $requestmap->application_id;
my $redirection = $requestmap->redirection ;
=head1 DESCRIPTION
There are two pieces of code :
=over 4
=item *
Lemonldap::Federation::SplitURI
=item *
Lemonldap::Federation::ShibbolethRequestMap
=back
First (Lemonldap::Federation::SplitURI) is used in order to split uri in scheme , host , port and path .
eg : https://sp.example.org/secure/admin/index.html must be splited into
=over 4
=item *
https
=item *
443
=item *
sp.example.org
=item *
secure
=item *
admin
=item *
index.html
=back
The second compoment is the RequestMap . It job is to find and return the applicationID for URI.
For this it uses an XML configuration file like this :
=head1 METHODS:
=head2 Constructor
$requestmap = Lemonldap::Federation::ShibbolethRequestMap->new( xml_host => $extrait_de_xml ,
xml_application=> $extrait_de_xml2 ,
uri => $full_uri , ) ;
with:
=over 4
=item *
xml_host : XML piece of ..
=item *
xml_application : XML piece of ..
=back
=head2 Application_id
return the application id for an URI .
=head2 redirection
return entire line of redirection to IPD :
eg :
https://idp.exemple.org/sso?target=http%3A%2F%2Fauthen.demo.net%2Fshibe&shire=http%3A%2F%2Fsp.example.org%2Fshire&providerId=http%3A%2F%2Fsp.example.org
see GenericSHIB.pm in example directory
=head1 SEE ALSO
https://spaces.internet2.edu/display/SHIB/WebHome
http://shibboleth.internet2.edu/
=head1 AUTHOR
eric German, Egermanlinux@yahoo.frE
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2007 by lemonasso
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.5 or,
at your option, any later version of Perl 5 you may have available.
=cut