Table of Contents

Upgrade from 1.9 to 2.0

2.0 is a major release, many things have been changed. You must read this document before upgrade.

Upgrade order from 1.9.*

As usual, if you use more than 1 server and don't want to stop the SSO service AND IF YOU HAVE NO INCOMPATIBILITY MENTIONED IN THIS DOCUMENT, upgrade must be done in the following order:

  1. servers that have only handlers;
  2. portal servers (all together if your load balancer doesn't keep state by user or client IP and if users use the menu);
  3. manager server
You must revalidate your configuration using the manager.

Installation

This release of LL::NG requires these minimal versions of GNU/Linux distributions:

For SAML features, we require Lasso 2.5.

Configuration

  mailUrl => 'http://auth.example.com/resetpwd',
  registerUrl => 'http://auth.example.com/register',
Apache mod_perl has a lot of issues since version 2.4 (many segfaults,…), especially when using mpm-worker. That's why LL::NG doesn't use anymore ModPerl::Registry: all is now handled by FastCGI (portal and manager).

For Handlers, it is now recommended to migrate to Nginx, but Apache 2 is still supported

Kerberos or SSL usage

Logs

Security

LLNG portal now embeds the following features:

Handlers

Rules and headers

Supported servers

Ajax requests

Before 2.0, an Ajax query that was launched after session timeout received a 302 code. Now a 401 HTTP code is given in response. The WWW-Authenticate header contains: SSO <portal-URL>

SOAP/REST services

AuthBasic Handler uses now REST services instead of SOAP.

Developer corner

APIs

Portal has now many REST features and includes a plugin API. See Portal manpages to see how to write auth modules, issuers or other feature.

Portal overview

Portal is no more a big CGI object. it is written for Plack/PSGI. Little resume

Portal object
  |
  +-> auth module
  |
  +-> userDB module
  |
  +-> issuer modules
  |
  +-> other plugins (notification,...)

The request is a separated object based on Lemonldap::NG::Portal::Main::Request which inherits from Lemonldap::NG::Common::PSGI::Request which inherits from Plack::Request. See manpages for more.

Handler

Handler libraries have been totally rewritten. If you've made custom handlers, they must be rewritten, see customhandlers.

If you had auto protected CGI, you also need to rewrite them, see documentation.