L'idée c'est que certains fournisseurs de service partagent les mêmes infos de fédération, c'est-à-dire qu'un utilisateur aura le même NameID chez chacun des SP membres d'une même affiliation. (à noter que ça existait déjà dans ID-FF 1.2 mais n'était requis que pour les modes 'extended', et que ça n'avait pas été implémenté du tout dans Lasso).
Il y a très peu d'exemples concrets de comment se définirait une affiliation, et très peu de références dans les docs, à part la définition du schéma dans la doc metadata et saml-core, sur le NameIDPolicy).
L'utilisation décidée, ce serait la suivante :
x* server.addProvider(...)
* x* server.loadAffiliation(filename)
Le chargement des affiliations, il ajouterait l'info 'affiliationOwnerId' aux SP membres de l'affiliation.
Restera alors, lors de la création / recherche de fédérations, à les faire au nom de cet affiliationOwnerId, plutôt qu'au nom du providerId du SP.
:?: au nom de cet affiliationOwnerId ou au nom de l'id d'affiliation ???
<?xml version="1.0"?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="http://lasso.lan/affiliation"> <AffiliationDescriptor affiliationOwnerID="http://lcs/saml/metadata"> <AffiliateMember>http://lcs/saml/metadata</AffiliateMember> <AffiliateMember>http://lcs2/saml/metadata</AffiliateMember> </AffiliationDescriptor> </EntityDescriptor>