From Moria1 to Moria2

This chapter is primarily for service developers that have some experience with the previous generation of Moria (Moria1) and wish to migrate to Moria2.

We will briefly describe the changes between the previous and current generations, and outline the steps necessary to migrate a Moria1-enabled service to Moria2.

Differences Between Moria1 and Moria2

The Moria2 v2.0 SOAP interface is a direct port of the Moria1 v1.0 SOAP interface, which was never released. The new features of Moria2 becomes evident in the v2.1 interface; therefore we will compare this with the Moria1 v0.9 SOAP interface.

There are basically three differences between the Moria1 v0.9 and the Moria2 v2.1 SOAP interface.

  1. The SOAP interface has been reworked; proper versioning of the interface has been added, the methods have been renamed, and improved error handling has been integrated into the SOAP interface.
  2. Support for direct, non-interactive authentication; services may collect user credentials themselves and authenticate/retrieve user attributes without the need for a HTTP redirect.
  3. Support for ticket based single sign-on; a service, on successfully authenticating a user, may request a ticket granting ticket and generate proxy tickets for other services. These so-called subservices may then use the proxy tickets to authenticate the user directly, as well as to request user attributes.

Migrating From Moria1 to Moria2

For those accustomed to the Moria1 SOAP interface, the migration to Moria2 is as simple as:

  1. Generating new client-side stubs with your SOAP library of choice, based on the new WSDL.
  2. Changing your code to match the similar, but renamed methods (which will give stub methods with different names than you might be used to).
For those who have been using the pre-compiled Mellon client-side API with Moria1 v0.9, as deployed by the FEIDE project (included in the feide-mellon-api-prod-0.9.jar file), or the matching servlet filter (included in the feide-mellon-filter-prod-0.9.jar file), it is a simple matter of replacing your old versions with the new Mellon2 API and/or filter. The API and filter are backwards-compatible with existing Moria1-integrated services, as well as offering the new and extended Moria2 functionality.

However, keep in mind that the official, and only supported, interface to Moria (all versions) is the SOAP interface presented through the WSDL. All other client-side APIs or modules are considered example code, to be used at your own risk.