Skip to Content.
Sympa Menu

shibboleth-dev - Re: SAML name identifiers

Subject: Shibboleth Developers

List archive

Re: SAML name identifiers


Chronological Thread 
  • From: "Tom Scavo" <>
  • To:
  • Subject: Re: SAML name identifiers
  • Date: Sun, 5 Mar 2006 21:52:04 -0500
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=SIX5jYdeeMrY/fP7AquXPUYzCcM0PPsQZ1gzo7V0evdYb1WDUhYsmWwyCtCGNXf2mujPT/1Mvu/wqvF+Xiku0voVkUodXAUIrmHDdsj09ng3YJg2SlEbB6WR7pn/3Al3783OmVeOVUotQqg0PgPj8Nj8gXUNptxh7X0MNjDzQsA=

On 3/5/06, Scott Cantor
<>
wrote:
> > So let me see if I understand what you're saying. You want to extend
> > BaseNameIdentifierMapping with an abstract class that consolidates
> > PrincipalNameIdentifier, X509SubjectNameNameIdentifierMapping,
> > EmailAddressNameIdentifierMapping. This abstract class would support
> > a generalized template/pattern mechanism similar to what
> > X509SubjectNameNameIdentifierMapping does now. Then any
> > implementation of a SAML name identifier (except perhaps transient and
> > persistent) would be a simple extension of this abstract class.
> >
> > Is this what you're suggesting?
>
> I think so, yes.

Okay, I think I see how to do this (thanks for the suggestion). Every
SAML 2.0 name identifier format (except transient and persistent) can
be handled similarly. For example, X509SubjectName and emailAddress
might be configured as follows:

<NameMapping
xmlns="urn:mace:shibboleth:namemapper:1.0"
id="x509"
format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName"
template="uid=%PRINCIPAL%,o=example.org"
regex="uid=([^,/]+)"
qualifier="https://idp.example.org/shibboleth";

class="edu.internet2.middleware.shibboleth..X509SubjectNameNameIdentifierMapping"/>

<NameMapping
xmlns="urn:mace:shibboleth:namemapper:1.0"
id="email"
format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"

template="%PRINCIPAL%@example.org"

regex="([^@]+)@"
qualifier="https://idp.example.org/shibboleth";

class="edu.internet2.middleware.shibboleth..emailAddressNameIdentifierMapping"/>

The qualifier attribute is optional. In order to make the template
and regex attributes optional, I need a domain (example.org), so we're
back to an old question: where can I get the authoritative,
deployment-wide domain (scope) attribute?

Thanks,
Tom



Archive powered by MHonArc 2.6.16.

Top of Page