Commit 291c5679 authored by Yadd's avatar Yadd
Browse files

LEMONLDAP::NG : * Liberty alliance module from FederID project

                * Debian integration in progress
parent a6077277
create table tsessions
(
id_session int NOT NULL AUTO_INCREMENT,
session_nb blob NOT NULL,
id_account int NOT NULL,
id_nameid int NOT NULL,
session_dump blob NULL,
timestamp TIMESTAMP,
divers blob NULL,
unique index (id_session),
primary key (id_session)
);
<?xml version="1.0"?>
<EntityDescriptor
providerID="http://auth.example.com"
xmlns="urn:liberty:metadata:2003-08">
<SPDescriptor protocolSupportEnumeration="urn:liberty:iff:2003-08">
<AssertionConsumerServiceURL id="AssertionConsumerServiceURL1" isDefault="true">http://auth.example.com/liberty/assertionConsumer.pl</AssertionConsumerServiceURL>
<SingleLogoutServiceURL>http://auth.example.com/liberty/singleLogout.pl</SingleLogoutServiceURL>
<SingleLogoutServiceReturnURL>http://auth.example.com/liberty/singleLogoutReturn.pl</SingleLogoutServiceReturnURL>
<SingleLogoutProtocolProfile>http://projectliberty.org/profiles/slo-idp-soap</SingleLogoutProtocolProfile>
<SingleLogoutProtocolProfile>http://projectliberty.org/profiles/slo-idp-http</SingleLogoutProtocolProfile>
<SingleLogoutProtocolProfile>http://projectliberty.org/profiles/slo-sp-soap</SingleLogoutProtocolProfile>
<SingleLogoutProtocolProfile>http://projectliberty.org/profiles/slo-sp-http</SingleLogoutProtocolProfile>
<FederationTerminationServiceURL>http://auth.example.com/liberty/federationTermination.pl</FederationTerminationServiceURL>
<FederationTerminationServiceReturnURL>http://auth.example.com/liberty/federationTerminationReturn.pl</FederationTerminationServiceReturnURL>
<FederationTerminationNotificationProtocolProfile>http://projectliberty.org/profiles/fedterm-idp-soap</FederationTerminationNotificationProtocolProfile>
<FederationTerminationNotificationProtocolProfile>http://projectliberty.org/profiles/fedterm-idp-http</FederationTerminationNotificationProtocolProfile>
<FederationTerminationNotificationProtocolProfile>http://projectliberty.org/profiles/fedterm-sp-soap</FederationTerminationNotificationProtocolProfile>
<FederationTerminationNotificationProtocolProfile>http://projectliberty.org/profiles/fedterm-sp-http</FederationTerminationNotificationProtocolProfile>
<!--
<RegisterNameIdentifierServiceURL>https://sp1.lasso.lan:2006/registerNameIdentifier</RegisterNameIdentifierServiceURL>
<RegisterNameIdentifierServiceReturnURL>https://sp1.lasso.lan:2006/registerNameIdentifierReturn</RegisterNameIdentifierServiceReturnURL>
<RegisterNameIdentifierProtocolProfile>http://projectliberty.org/profiles/rni-idp-soap</RegisterNameIdentifierProtocolProfile>
<RegisterNameIdentifierProtocolProfile>http://projectliberty.org/profiles/rni-idp-http</RegisterNameIdentifierProtocolProfile>
<RegisterNameIdentifierProtocolProfile>http://projectliberty.org/profiles/rni-sp-soap</RegisterNameIdentifierProtocolProfile>
<RegisterNameIdentifierProtocolProfile>http://projectliberty.org/profiles/rni-sp-http</RegisterNameIdentifierProtocolProfile>
-->
<SoapEndpoint>http://auth.example.com/liberty/soapEndpoint.pl</SoapEndpoint>
<AuthnRequestsSigned>true</AuthnRequestsSigned>
</SPDescriptor>
<Organization>
<OrganizationName>Lemonldap-NG Service Provider</OrganizationName>
<OrganizationDisplayName xml:lang="en">Lemonldap-NG Service Provider</OrganizationDisplayName>
<OrganizationURL xml:lang="en">http://auth.example.com/</OrganizationURL>
</Organization>
</EntityDescriptor>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>LemonLDAP::NG Portal - Authentication</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="stylesheet" type="text/css" href="tpl/themes/federid/sso.css" title="FederID"/>
</head>
<body>
<div id="page">
<div id="top"><h1>&nbsp;</h1></div>
<div id="info-box"><h1>FederID WebSSO</h1><p>LemonLDAP::NG Portal - Authentication</p></div>
<div id="content">
<form method="post">
<div class="error"><p><TMPL_VAR NAME="AUTH_ERROR"></p></div>
<input type="hidden" name="url" value="<TMPL_VAR NAME="AUTH_URL">" />
<fieldset><legend>Authentication on this service (no Identity federation)</legend>
<label class="required">Login</label>
<TMPL_IF NAME="AUTH_USER">
<input type="hidden" name="user" value="<TMPL_VAR NAME="AUTH_USER">" />
<TMPL_VAR NAME="AUTH_USER"><br />
<TMPL_ELSE>
<input name="user" size="30" /><br />
</TMPL_IF>
<label class="required">Password</label>
<input name="password" type="password" autocomplete="off" size="30" /></td>
</fieldset>
<fieldset><legend>Liberty Alliance authentication</legend>
<select name="idpChoice">
<option value="null">Selection d'un IDP</option>
<TMPL_LOOP NAME="AUTH_IDPS">
<option value="<TMPL_VAR NAME="IDPNAME">"><TMPL_VAR NAME="IDPNAME"></option>
</TMPL_LOOP>
</select>
</fieldset>
<fieldset><legend>Submit your choice</legend>
<input type="submit" name="submit" value="Submit" />
<input type="reset" name="reset" value="Reset" />
</fieldset>
</form>
</body>
</html>
- 22/O7/2007 - Clement OUDOT :
* Remove old skins
* Create alternatives for all FederID components, based on specifc colors
- 20/07/2007 - Clement OUDOT:
* Modifiy layout -> template.html
* Import DotClear 2 admin theme
* Build a first FederID theme based upon DC2 admin
* Build a real FederID theme
- 08/07/2007 - Clement OUDOT :
* Import default theme from Authentic project, based on DotClear 2 theme
* Create sample test page
================================================================================
README
================================================================================
These are the themes for FederID project. The goal is to provide to all FederID
components the same Look 'n Feel.
Each theme has its own directory (eg. default/) and can have alternatives.
A sample page test (template.html) must be modified to allow switching between
the themes that are created.
You can use this page locally to test your theme.
body {
font: 62.5%/1.5em "DejaVu Sans","Lucida Grande","Lucida Sans Unicode",Arial,sans-serif;
color : #000;
background : #fff url(page-bg.png) repeat-y top left;
margin : 0;
padding : 0;
}
body.auth {
background-image: none;
}
body.install #content {
margin-top: 1em;
font-size: 1.1em;
}
a img,:link img,:visited img { border:none }
a, a:link, a:visited {
color : #06c;
text-decoration : none;
border-bottom : 1px dotted #f90;
}
a:hover, a:active, a:focus {
}
h1, h2, h3, h4, h5, h6, p {
margin-top : 0;
margin-bottom: 0.6em;
}
h2 {
font-family : Arial,Helvetica,sans-serif;
color : #069;
font-size : 1.4em;
}
h3 {
color : #333;
font-size : 1.2em;
}
p, div.p {
margin : 0 0 1em 0;
}
hr {
height : 1px;
border-width : 1px 0 0 0;
border-color : #999;
border-style : solid;
}
pre, code {
font: 100% "Andale Mono","Courier New",monospace;
}
/* LAYOUT
-------------------------------------------------------- */
/* General font-size */
#top, #info-box, #main, #main-menu, #footer {
font-size: 1.1em;
}
#top {
margin : 0;
padding : 0;
background : transparent url(head-bg.png) repeat-x;
}
#top h1 {
padding : 0;
margin : 0;
height : 58px;
text-indent : -1000px;
background : transparent url(head-logo.png) no-repeat 0 0;
}
#top h1 a {
position: absolute;
top: 3px;
left: 0;
width: 170px;
height: 35px;
border: none;
}
#info-box {
position : absolute;
right : 20px;
top : 6px;
margin : 0;
padding : 3px 3px 4px 15px;
}
#info-box div {
margin: 0; padding: 0;
}
#info-box div div {
display: inline;
}
#info-box select {
width : 160px;
}
#info-box a {
font-weight : bold;
}
#main {
width : 100%;
float : right;
margin-left : -155px;
margin-top : 0;
}
#content {
margin-left : 155px;
margin-bottom : 10px;
padding-top : 1px;
margin-right : 15px;
}
#main-menu {
width : 135px;
float : left;
margin-top : 0;
margin-bottom : 10px;
}
#main-menu h3 {
margin : 0;
padding : 0 0 0 5px;
}
#main-menu ul {
margin : 0 0 1em 0;
padding : 0;
list-style : none;
}
#main-menu li {
display : block;
margin : 0.5em 0 0 5px;
padding : 2px 0 1px 20px;
background-repeat: no-repeat;
background-position: 0 0;
}
#main-menu a {
font-weight : bold;
}
#main-menu .active a {
border-bottom-style: solid;
}
#default-blog {
position: absolute;
top: 58px;
right: 30px;
height: 1.5em;
font-size : 140%;
font-weight: bold;
}
#footer {
clear : both;
padding : 3px 5px 0 25px;
}
#footer a {
border: none;
}
#debug {
position: absolute;
top: 0;
width: 100%;
height: 4px;
background: #d99;
}
#debug div {
display: none;
padding: 3px 0.5em 2px;
}
#debug p {
margin : 0.5em 0;
}
#debug:hover {
height: auto;
}
#debug:hover div {
display: block;
}
/* DASHBOARD */
#dashboard {
font-size: 120%;
padding-top: 2em;
clear: left;
}
#dashboard p img {
vertical-align: middle;
}
#dashboard ul {
display: block;
margin: 0;
padding-left: 1.5em;
list-style: square;
}
#dashboard li {
margin: 0.25em 0 0 0;
color: #666;
}
#dashboard-icons p {
float: left;
width: 32%;
text-align: center;
margin: 2em 0 0 0;
}
#dashboard-icons span {
display: block;
}
#dashboard-icons a {
border-bottom-width: 0;
}
#dashboard-icons span a {
border-bottom-width: 1px;
}
/* POST */
#entry-sidebar {
width : 200px;
float : right;
}
#entry-content {
margin-right : 220px;
}
#comments {
clear : both;
}
/* MEDIA */
#media-icon {
float: left;
}
#media-details {
margin-left: 70px;
}
#media-details ul {
display: block;
margin-left: 0;
padding: 0;
}
#media-details li {
list-style: square inside;
margin: 0;
padding: 0;
}
#media-original-image {
overflow: auto;
}
#media-original-image.overheight {
height: 500px;
}
#add-file-f {
position: relative;
}
#add-file-f .more-file {
position:absolute;
right: 0.5em;
background: #999;
color: #fff;
border: none;
}
/* POPUP */
body.popup {
background-position : -120px 0;
}
body.popup #top h1 {
background-position : -120px 0;
}
body.popup #main {
margin-left : -35px;
}
body.popup #content {
margin-left : 35px;
}
body.popup #footer {
clear : both;
padding-top : 20px;
padding-left : 35px;
}
/* CLASSES
-------------------------------------------------------- */
a.help-link {
border: none;
}
.help-content dt {
font-weight: bold;
color: #666;
margin: 0;
}
.help-content dd {
margin: 0.3em 0 1.5em 0;
}
.clear {
clear : both;
}
.lclear {
clear : left;
}
div.clearer {
height : 1px;
font-size : 1px;
}
.hide {
display : none;
}
.right {
text-align : right;
}
.frame-shrink {
border: 1px solid #666;
padding: 0.5em;
margin-bottom: 1em;
height: 120px;
overflow: auto;
}
div.error {
border : 2px solid #c00;
padding : 0.5em 0.5em 0.5em 40px;
margin-bottom : 1em;
background : transparent url(msg-error.png) no-repeat 5px 50%;
}
.line p {
margin : 0;
}
.message, .static-msg {
font-weight : bold;
color : #f60;
padding : 0.5em 0.5em 0.5em 40px;
border : 1px solid #ccc;
background : transparent url(msg-std.png) no-repeat 5px 50%;
}
.offline {
color : #666;
}
ul.nice {
margin: 1em 0;
padding: 0 0 0 2em;
list-style: square;
}
ul.nice li {
margin:0;
padding: 0;
}
.three-cols {
}
.three-cols .col {
width : 32.3%;
float : left;
margin-left : 1%;
}
.three-cols .col:first-child {
width : 33.3%;
margin-left : 0;
}
.two-cols {
position : static;
}
.two-cols .col {
width : 49%;
margin-left : 1%;
float : left;
}
.two-cols .col:first-child {
width : 50%;
margin-left : 0;
}
.comment {
border-top : 2px solid #ccc;
margin-bottom : 1em;
padding : 2em 0 1em 0;
position : relative;
}
.comment form p {
margin : 0;
position : absolute;
top : 2px;
right : 0;
}
.part-tabs {
float: left;
width: 100%;
background: transparent url(tab-bg.png) repeat-x bottom;
margin-bottom: 2em;
}
.part-tabs ul {
margin: 0;
padding: 10px 10px 0;
list-style: none;
}
.part-tabs li {
float: left;
background: transparent url(tab-n-l.png) no-repeat top left;
margin: 0 3px 0 0;